Bendable sensor device for monitoring joint extension and flexion

ABSTRACT

A system for rehabilitation is disclosed. The system for rehabilitation includes one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user. The system for rehabilitation further includes one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors. The one or more processing devices are configured to execute the instructions to receive information from the one or more sensors. The one or more processing devices are further configured to execute the instructions to transmit the information to a computing device controlling an electromechanical device, via the one or more network interface cards.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims priority to and the benefit of U.S. ProvisionalApplication Patent Ser. No. 62/816,503, filed Mar. 11, 2019, the entiredisclosure of which is hereby incorporated by reference.

TECHNICAL FIELD

This disclosure relates generally to electromechanical devices. Morespecifically, this disclosure relates to a control system for anelectromechanical device for rehabilitation or exercise.

BACKGROUND

Various devices may be used by people for exercising and/orrehabilitating parts of their bodies. For example, as part of workoutregimens to maintain a desired level of fitness, users may operatedevices for a period of time or distance. In another example, a personmay undergo knee surgery and a physician may provide a treatment planfor rehabilitation to strengthen and/or improve flexibility of the kneethat includes periodically operating a rehabilitation device for aperiod of time and/or distance. The exercise and/or rehabilitationdevices may include pedals on opposite sides. The devices may beoperated by users engaging the pedals with their feet or their hands androtating the pedals.

SUMMARY

In general, the present disclosure provides a control system for arehabilitation or exercise device and associated components of thedevice.

In one aspect, a system for rehabilitation includes one or moreelectronic devices comprising one or more memory devices storinginstructions, one or more network interface cards, and one or moresensors, wherein the one or more electronic devices are coupled to auser. The system for rehabilitation further includes one or moreprocessing devices operatively coupled to the one or more memorydevices, the one or more network interface cards, and the one or moresensors. The one or more processing devices are configured to executethe instructions to receive information from the one or more sensors.The one or more processing devices are further configured to execute theinstructions to transmit the information to a computing devicecontrolling an electromechanical device, via the one or more networkinterface cards.

In another aspect, a system for rehabilitation includes one or moreelectronic devices comprising one or more memory devices storinginstructions, one or more network interface cards, and one or moresensors, wherein the one or more electronic devices are coupled to auser. The system for rehabilitation further includes anelectromechanical device comprising an electric motor and one or morepedals. The system for rehabilitation further includes one or moreprocessing devices operatively coupled to the one or more memorydevices, the one or more network interface cards, and the one or moresensors. The one or more processing devices are configured to executethe instructions to (i) receive configuration information for a pedalingsession; (ii) based on the configuration information for the pedalingsession, set a resistance parameter and a maximum pedal force parameter;(iii) measure force applied to the one or more pedals of theelectromechanical device as a user pedals the electromechanical device,wherein, based on the resistance parameter, the electric motor providesresistance during the pedaling session; (iv) determine whether themeasured force exceeds a value of the maximum pedal force parameter; and(v) responsive to determining that the measured force exceeds the valueof the maximum pedal force parameter, reduce the resistance parameter sothe electric motor applies less resistance during the pedaling sessionto maintain a revolutions per time period threshold.

In yet another aspect, a system for rehabilitation further includes oneor more electronic devices comprising one or more memory devices storinginstructions, one or more network interface cards, and one or moresensors, wherein the one or more electronic devices are flexible andworn by a user. The system for rehabilitation further includes one ormore processing devices operatively coupled to the one or more memorydevices, the one or more network interface cards, and the one or moresensors. The one or more processing devices are further configured toexecute the instructions to (i) receive, from the one or more electronicdevices, a plurality of angles of extension between an upper leg and alower leg at a knee of the user, wherein the plurality of angles ismeasured as the user extends the lower leg away from the upper leg viathe knee; (ii) present, on a user interface, a graphical animation ofthe upper leg, the lower leg, and the knee of the user as the lower legis extended away from the upper leg via the knee, wherein the graphicalanimation includes the plurality of angles of extension as the pluralityof angles of extension changes during the extension; (iii) store alowest value, such as a smallest angle, of the plurality of angles ofextension as an extension statistic for an extension session, wherein aplurality of extension statistics is stored for a plurality of extensionsessions specified by the treatment plan; (iv) present progress of theplurality of extension sessions throughout the treatment plan via agraphical element presenting the plurality of extension statistics onthe user interface; (v) determine whether a range of motion thresholdcondition is satisfied based on the plurality of angles of extension;and (vi) responsive to determining that the range of motion thresholdcondition is satisfied, transmit a threshold condition update to asecond computing device to cause the second computing device to presentthe threshold condition update, via the one or more network interfacecards.

From the following figures, descriptions, and claims, other technicalfeatures may be readily apparent to one skilled in the art.

Before undertaking the DETAILED DESCRIPTION below, it may beadvantageous to set forth definitions of certain words and phrases usedthroughout this patent document. The term “couple” and its derivativesrefer to any direct or indirect communication between two or moreelements, independent of whether those elements are in physical contactwith one another. The terms “transmit,” “receive,” and “communicate,” aswell as derivatives thereof, encompass both direct and indirectcommunication. The terms “include” and “comprise,” as well asderivatives thereof, mean inclusion without limitation. The term “or” isinclusive, meaning and/or. The phrase “associated with,” as well asderivatives thereof, means to include, be included within, interconnectwith, contain, be contained within, connect to or with, couple to orwith, be communicable with, cooperate with, interleave, juxtapose, beproximate to, be bound to or with, have, have a property of, have arelationship to or with, or the like. The term “controller” means anydevice, system or part thereof that controls at least one operation.Such a controller may be implemented in hardware or a combination ofhardware and software and/or firmware. The functionality associated withany particular controller may be centralized or distributed, whetherlocally or remotely. The phrase “at least one of,” when used with a listof items, means that different combinations of one or more of the listeditems may be used, and only one item in the list may be needed. Forexample, “at least one of: A, B, and C” includes any of the followingcombinations: A, B, C, A and B, A and C, B and C, and A and B and C.

Moreover, various functions described below can be implemented orsupported by one or more computer programs, each of which is formed fromcomputer readable program code and embodied in a computer readablemedium. The terms “application” and “program” refer to one or morecomputer programs, software components, sets of instructions,procedures, functions, objects, classes, instances, related data, orportions thereof adapted for implementation in a suitable computerreadable program code. The phrase “computer readable program code”includes any type of computer code, including source code, linked orlinkable code, object code, and executable code. The phrase “computerreadable medium” includes any type of medium capable of being accessedby a computer, such as read only memory (ROM), solid state device (SSD)memory, random access memory (RAM), a hard disk drive, a compact disc(CD), a digital video disc (DVD), or any other type of memory. A“non-transitory” computer readable medium excludes wired, wireless,optical, or other communication links that transport transitoryelectrical or other signals. A non-transitory computer readable mediumincludes media where data can be permanently stored and media where datacan be stored and later overwritten, such as a rewritable optical discor an erasable memory device.

Definitions for other certain words and phrases are provided throughoutthis patent document. Those of ordinary skill in the art shouldunderstand that in many if not most instances, such definitions apply toprior as well as to future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of this disclosure and its advantages,reference is now made to the following description, taken in conjunctionwith the accompanying drawings, in which:

FIG. 1 illustrates a high-level component diagram of an illustrativerehabilitation system architecture according to certain embodiments ofthis disclosure;

FIG. 2 illustrates a perspective view of an example of an exercise andrehabilitation device according to certain embodiments of thisdisclosure;

FIG. 3 illustrates example operations of a method for controlling anelectromechanical device for rehabilitation in various modes accordingto certain embodiments of this disclosure;

FIG. 4 illustrates example operations of a method for controlling anamount of resistance provided by an electromechanical device accordingto certain embodiments of this disclosure;

FIG. 5 illustrates example operations of a method for using a goniometerto measure angles of bend and/or extension of a lower leg relative to anupper leg according to certain embodiments of this disclosure;

FIG. 6 illustrates an exploded view of components of the exercise andrehabilitation device according to certain embodiments of thisdisclosure;

FIG. 7 illustrates an exploded view of a right pedal assembly accordingto certain embodiments of this disclosure;

FIG. 8 illustrates an exploded view of a motor drive assembly accordingto certain embodiments of this disclosure;

FIG. 9 illustrates an exploded view of a portion of a goniometeraccording to certain embodiments of this disclosure;

FIG. 10 illustrates a top view of a wristband according to certainembodiments of this disclosure;

FIG. 11 illustrates an exploded view of a pedal according to certainembodiments of this disclosure;

FIG. 12 illustrates additional views of the pedal according to certainembodiments of this disclosure;

FIG. 13 illustrates an example user interface of the user portal, andthe user interface is configured to present a treatment plan for a useraccording to certain embodiments of this disclosure;

FIG. 14 illustrates an example user interface of the user portal, andthe user interface is configured to present pedal settings for a useraccording to certain embodiments of this disclosure;

FIG. 15 illustrates an example user interface of the user portal, andthe user interface is configured to present a scale for measuring painof the user at a beginning of a pedaling session according to certainembodiments of this disclosure;

FIG. 16 illustrates an example user interface of the user portal, andthe user interface is configured to present that the electromechanicaldevice is operating in a passive mode according to certain embodimentsof this disclosure;

FIGS. 17A-D illustrate an example user interface of the user portal, andthe user interface is configured to present that the electromechanicaldevice is operating in active-assisted mode and if and/or to what extentthe user is applying various amounts of force to the pedals according tocertain embodiments of this disclosure;

FIG. 18 illustrates an example user interface of the user portal, andthe user interface is configured to present a request to modify pedalposition while the electromechanical device is operating inactive-assisted mode according to certain embodiments of thisdisclosure;

FIG. 19 illustrates an example user interface of the user portal, andthe user interface is configured to present a scale for measuring painof the user at an end of a pedaling session according to certainembodiments of this disclosure;

FIG. 20 illustrates an example user interface of the user portal, theuser interface is configured to enable the user to capture an image ofthe body part under rehabilitation according to certain embodiments ofthis disclosure;

FIGS. 21A-D illustrate an example user interface of the user portal, andthe user interface is configured to present angles of extension and bendof a lower leg relative to an upper leg according to certain embodimentsof this disclosure;

FIG. 22 illustrates an example user interface of the user portal, andthe user interface is configured to present a progress screen for a userextending the lower leg away from the upper leg according to certainembodiments of this disclosure;

FIG. 23 illustrates an example user interface of the user portal, andthe user interface is configured to present a progress screen for a userbending the lower leg toward the upper leg according to certainembodiments of this disclosure;

FIG. 24 illustrates an example user interface of the user portal, andthe user interface is configured to present a progress screen formeasuring a pain level of the user according to certain embodiments ofthis disclosure;

FIG. 25 illustrates an example user interface of the user portal, andthe user interface is configured to present a progress screen formeasuring a strength of a body part according to certain embodiments ofthis disclosure;

FIG. 26 illustrates an example user interface of the user portal, andthe user interface is configured to present a progress screen capable ofdisplaying an amount of steps of the user according to certainembodiments of this disclosure;

FIG. 27 illustrates an example user interface of the user portal, andthe user interface is configured to present that the electromechanicaldevice is operating in a manual mode according to certain embodiments ofthis disclosure;

FIG. 28 illustrates an example user interface of the user portal, andthe user interface is configured to present an option to modify a speedof the electromechanical device operating in the passive mode accordingto certain embodiments of this disclosure;

FIG. 29 illustrates an example user interface of the user portal, andthe user interface is configured to present an option to modify aminimum speed of the electromechanical device operating in theactive-assisted mode according to certain embodiments of thisdisclosure;

FIG. 30 illustrates an example user interface of the clinical portal,and the user interface is configured to present various optionsavailable to the clinician according to certain embodiments of thisdisclosure; and

FIG. 31 illustrates an example computer system according to certainembodiments of this disclosure.

DETAILED DESCRIPTION

Improvement is desired in the field of devices used for rehabilitationand exercise. People may sprain, fracture, tear or otherwise injure abody part and then consult a physician to diagnose the injury. In someinstances, the physician may prescribe a treatment plan that includesoperating one or more electromechanical devices (e.g., pedaling devicesfor arms or legs) for a period of time to exercise the affected area inan attempt to regain normal or closer-to-normal function byrehabilitating the injured body part and affected proximate areas. Inother instances, the person with the injury may determine to operate adevice without consulting a physician. In either scenario, the devicesthat are operated lack effective monitoring of (i) progress ofrehabilitation of the affected area and (ii) control over theelectromechanical device during operation by the user. Conventionaldevices lack components that enable the operation of theelectromechanical device in various modes designed to improve the rateand/or enhance the effectiveness of rehabilitation. Further,conventional rehabilitation systems lack monitoring devices that aid indetermining one or more properties of the user (e.g., range of motion ofthe affected area, heartrate of the user, etc.) and enable theadjustment of components based on the determined properties. When theuser is supposed to be adhering to a treatment plan, conventionalrehabilitation systems may not provide to the physician real-timeresults of sessions. That is, typically, the physicians have to rely onthe patient's word as to whether he or she is adhering to the treatmentplan. As a result of the abovementioned issues, conventionalrehabilitation systems that use electromechanical devices may notprovide effective and/or efficient rehabilitation of the affected bodypart.

Accordingly, aspects of the present disclosure generally relate to acontrol system for a rehabilitation and exercise electromechanicaldevice (referred to herein as “electromechanical device” or “device”).The electromechanical device may include an electric motor configured todrive one or more radially-adjustable couplings to rotationally movepedals coupled to the radially-adjustable couplings. Theelectromechanical device may be operated by a user engaging the pedalswith his or her hands or feet and rotating the pedals to exercise and/orrehabilitate a desired body part. The electromechanical device and thecontrol system may be included as part of a larger rehabilitationsystem. The rehabilitation system may also include monitoring devices(e.g., goniometers, wristbands, force sensors in the pedals, etc.) thatprovide valuable information about the user to the control system. Assuch, the monitoring devices may be in direct or indirect communicationwith the control system.

The monitoring devices may include a goniometer configured to measurerange of motion (e.g., angles of extension and/or bend) of a body partto which the goniometer is attached. The measured range of motion may bepresented to the user and/or a physician via a user portal and/or aclinical portal. Also, to operate the electromechanical device during atreatment plan, the control system may use the measured range of motionto determine whether to adjust positions of the pedals on theradially-adjustable couplings and/or to change the mode types from onemode to another (e.g., from/to: passive, active-assisted, resistive,active) and/or durations. The monitoring devices may also include awristband configured to track the steps of the user over a time period(e.g., a day, a week, etc.) and/or measure vital signs of the user(e.g., heartrate, blood pressure, oxygen level, etc.). The monitoringdevices may also include force sensors disposed in the pedals andconfigured to measure the force exerted by the user on the pedals.

The control system may enable operating the electromechanical device ina variety of modes, such as a passive mode, an active-assisted mode, aresistive mode, and/or an active mode. The control system may use theinformation received from the measuring devices to adjust parameters(e.g., reduce resistance provided by electric motor, increase resistanceprovided by the electric motor, increase/decrease speed of the electricmotor, adjust position of pedals on radially-adjustable couplings, etc.)while operating the electromechanical device in the various modes. Thecontrol system may receive the information from the monitoring devices,aggregate the information, make determinations using the information,and/or transmit the information to a cloud-based computing system forstorage. The cloud-based computing system may maintain the informationrelated to each user. As used herein, a cloud-based computing systemrefers, without limitation, to any remote computing system accessed overa network link.

A clinician and/or a machine learning model may generate a treatmentplan for a user to rehabilitate a part of their body using at least theelectromechanical device. A treatment plan may include a set of pedalingsessions using the electromechanical device, a set of joint extensionsessions, a set of flex sessions, a set of walking sessions, a set ofheartrate goals per pedaling session and/or walking session, and thelike.

Each pedaling session may specify that a user is to operate theelectromechanical device in a combination of one or more modes,including: passive, active-assisted, active, and resistive. The pedalingsession may specify that the user is to wear the wristband and thegoniometer during the pedaling session. Further, each pedaling sessionmay include information specifying a set amount of time in which theelectromechanical device is to operate in each mode, a target heartratefor the user during each mode in the pedaling session, target forcesthat the user is to exert on the pedals during each mode in the pedalingsession, target ranges of motion the body parts are to attain during thepedaling session, positions of the pedals on the radially-adjustablecouplings, and the like.

Each joint extension session may specify information relating to atarget angle of extension at the joint, and each set of joint flexsessions may specify information relating to a target angle of flex atthe joint. Each walking session may specify a target number of steps theuser should take over a set period of time (e.g., a day, a week, etc.)and/or a target heartrate to achieve and/or maintain during the walkingsession.

The treatment plan may be stored in the cloud-based computing systemand, when the user is ready to begin the treatment plan, downloaded tothe computing device of the user. In some embodiments, the computingdevice that executes a clinical portal module (alternatively referred toherein as a clinical portal) may transmit the treatment plan to thecomputing device that executes a user portal and the user may initiatethe treatment plan when ready.

In addition, the disclosed rehabilitation system may enable a physicianto use the clinical portal to monitor the progress of the user inreal-time. The clinical portal may present information pertaining towhen the user is engaged in one or more sessions, statistics (e.g.,speed, revolutions per minute, positions of pedals, forces on thepedals, vital signs, numbers of steps taken by user, ranges of motion,etc.) of the sessions, and the like. The clinical portal may also enablethe physician to view before and after session images of the affectedbody part of the user to enable the physician to judge how well thetreatment plan is working and/or to make adjustments to the treatmentplan. The clinical portal may enable the physician, based on informationreceived from the control system, to dynamically change a parameter(e.g., position of pedals, amount of resistance provided by electricmotor, speed of the electric motor, duration of one of the modes, etc.)of the treatment plan in real-time.

The disclosed techniques provide numerous benefits over conventionalsystems. For example, to enhance the efficiency and effectiveness ofrehabilitation of the user, the rehabilitation system provides granularcontrol over the components of the electromechanical device. The controlsystem enables, by controlling the electric motor, operating theelectromechanical device in any suitable combination of the modesdescribed herein. Further, the control system may use informationreceived from the monitoring devices during a pedaling session to adjustparameters of components of the electromechanical device in real-time,for example. Additional benefits of this disclosure may include enablinga computing device operated by a physician to monitor the progress of auser participating in a treatment plan in real-time and/or to controloperation of the electromechanical device during a pedaling session.

FIGS. 1 through 31, discussed below, and the various embodiments used todescribe the principles of this disclosure are by way of illustrationonly and should not be construed in any way to limit the scope of thedisclosure.

FIG. 1 illustrates a high-level component diagram of an illustrativerehabilitation system architecture 100 according to certain embodimentsof this disclosure. In some embodiments, the system architecture 100 mayinclude a computing device 102 communicatively coupled to anelectromechanical device 104, a goniometer 106, a wristband 108, and/orpedals 110 of the electromechanical device 104. Each of the computingdevice 102, the electromechanical device 104, the goniometer 106, thewristband 108, and the pedals 110 may include one or more processingdevices, memory devices, and network interface cards. The networkinterface cards may enable communication via a wireless protocol fortransmitting data over short distances, such as Bluetooth, ZigBee, NFC,etc. In some embodiments, the computing device 102 is communicativelycoupled via Bluetooth to the electromechanical device 104, goniometer106, the wristband 108, and/or the pedals 110.

Additionally, the network interface cards may enable communicating dataover long distances, and in one example, the computing device 102 maycommunicate with a network 112. Network 112 may be a public network(e.g., connected to the Internet via wired means (Ethernet) or wirelessmeans (WiFi)), a private network (e.g., a local area network (LAN) orwide area network (WAN)), or a combination thereof. The computing device102 may be communicatively coupled with a computing device 114 and acloud-based computing system 116.

The computing device 102 may be any suitable computing device, such as alaptop, tablet, smartphone, computer or Internet of Things (IoT) sensoror device. (Other computing devices referenced herein may also beInternet of Things (IoT) sensors or devices.) The computing device 102may include a display that is capable of presenting a user interface,such as a user portal 118. The user portal 118 may be implemented incomputer instructions stored on the one or more memory devices of thecomputing device 102 and executable by the one or more processingdevices of the computing device 102. The user portal 118 may present toa user various screens that enable the user to view a treatment plan,initiate a pedaling session for the purpose of executing the treatmentplan, control parameters of the electromechanical device 104, viewprogress of rehabilitation during the pedaling session, and so forth asdescribed in more detail below. The computing device 102 may alsoinclude instructions stored on the one or more memory devices that, whenexecuted by the one or more processing devices of the computing device102, perform operations to control the electromechanical device 104.

The computing device 114 may execute a clinical portal 126. The clinicalportal 126 may be implemented in computer instructions stored on the oneor more memory devices of the computing device 114 and executable by theone or more processing devices of the computing device 114. The clinicalportal 126 may present to a physician or a clinician various screensthat enable the physician to create a treatment plan for a patient oruser, view progress of the user throughout the treatment plan, viewmeasured properties (e.g., angles of bend/extension, force exerted onthe pedals 110, heart rate, steps taken, images of the affected bodypart) of the user during sessions of the treatment plan, and/or viewproperties (e.g., modes completed, revolutions per minute, etc.) of theelectromechanical device 104 during sessions of the treatment plan. Sothe patient may begin the treatment plan, the treatment plan specific toa patient may be transmitted via the network 112 to the cloud-basedcomputing system 116 for storage and/or to the computing device 102. Theterms “patient” and “user” may be used interchangeably throughout thisdisclosure.

The electromechanical device 104 may be an adjustable pedaling devicefor exercising and rehabilitating arms and/or legs of a user. Theelectromechanical device 104 may include at least one or more motorcontrollers 120, one or more electric motors 122, and one or moreradially-adjustable couplings 124. Two pedals 110 may be coupled to tworadially-adjustable couplings 124 via left and right pedal assembliesthat each include respective stepper motors. The motor controller 120may be operatively coupled to the electric motor 122 and configured toprovide commands to the electric motor 122 to control operation of theelectric motor 122. The motor controller 120 may include any suitablemicrocontroller including a circuit board having one or more processingdevices, one or more memory devices (e.g., read-only memory (ROM) and/orrandom access memory (RAM)), one or more network interface cards, and/orprogrammable input/output peripherals. The motor controller 120 mayprovide control signals or commands to drive the electric motor 122. Theelectric motor 122 may be powered to drive one or moreradially-adjustable couplings 124 of the electromechanical device 104 ina rotational manner. The electric motor 122 may provide the drivingforce to rotate the radially-adjustable couplings 124 at configurablespeeds. The couplings 124 are radially-adjustable in that a pedal 110attached to the coupling 124 may be adjusted to a number of positions onthe coupling 124 in a radial fashion. Further, the electromechanicaldevice 104 may include a current shunt to provide resistance todissipate energy from the electric motor 122. As such, the electricmotor 122 may be configured to provide resistance to rotation of theradially-adjustable couplings 124.

The computing device 102 may be communicatively connected to theelectromechanical device 104 via the network interface card on the motorcontroller 120. The computing device 102 may transmit commands to themotor controller 120 to control the electric motor 122. The networkinterface card of the motor controller 120 may receive the commands andtransmit the commands to the electric motor 122 to drive the electricmotor 122. In this way, the computing device 102 is operatively coupledto the electric motor 122.

The computing device 102 and/or the motor controller 120 may be referredto as a control system herein. The user portal 118 may be referred to asa user interface of the control system herein. The control system maycontrol the electric motor 122 to operate in a number of modes: passive,active-assisted, resistive, and active. The passive mode may refer tothe electric motor 122 independently driving the one or moreradially-adjustable couplings 124 rotationally coupled to the one ormore pedals 110. In the passive mode, the electric motor 122 may be theonly source of driving force on the radially-adjustable couplings. Thatis, the user may engage the pedals 110 with their hands or their feetand the electric motor 122 may rotate the radially-adjustable couplings124 for the user. This may enable moving the affected body part andstretching the affected body part without the user exerting excessiveforce.

The active-assisted mode may refer to the electric motor 122 receivingmeasurements of revolutions per time period, such as a revolutions perminute, second, or any other desired time interval, of the one or moreradially-adjustable couplings 124, and, when the measured revolutionsper time period satisfy a threshold condition, causing the electricmotor 122 to drive the one or more radially-adjustable couplings 124rotationally coupled to the one or more pedals 110. The thresholdcondition may be configurable by the user and/or the physician. As longas the revolutions per time period are above a revolutions per timeperiod threshold (e.g., revolutions threshold 1732) and the thresholdcondition is not satisfied, the electric motor 122 may be powered offwhile the user provides the driving force to the radially-adjustablecouplings 124. When the revolutions per time period are less than therevolutions per minute threshold, then the threshold condition issatisfied and the electric motor 122 may be controlled to drive theradially-adjustable couplings 124 to maintain the revolutions per timeperiod threshold.

The resistive mode may refer to the electric motor 122 providingresistance to rotation of the one or more radially-adjustable couplings124 coupled to the one or more pedals 110. The resistive mode mayincrease the strength of the body part being rehabilitated by causingthe muscle to exert force to move the pedals 110 against the resistanceprovided by the electric motor 122.

The active mode may refer to the electric motor 122 powering off toprovide no driving force assistance to the radially-adjustable couplings124. Instead, in this mode, the user, using their hands or feet, forexample, provides the sole driving force of the radially-adjustablecouplings.

During one or more of the modes, each of the pedals 110 may measureforce exerted by a part of the body of the user on the pedal 110. Forexample, the pedals 110 may each contain any suitable sensor (e.g.,strain gauge load cell, piezoelectric crystal, hydraulic load cell,etc.) for measuring force exerted on the pedal 110. Further, the pedals110 may each contain any suitable sensor for detecting whether the bodypart of the user separates from contact with the pedals 110. In someembodiments, the measured force may be used to detect whether the bodypart has separated from the pedals 110. The force detected may betransmitted via the network interface card of the pedal 110 to thecontrol system (e.g., computing device 102 and/or motor controller 120).As described further below, the control system may, based on themeasured force, modify a parameter of operating the electric motor 122.Further, the control system may perform one or more preventative actions(e.g., locking the electric motor 122 to stop the radially-adjustablecouplings 124 from moving, slowing down the electric motor 122,presenting a notification to the user, etc.) when the body part isdetected as separated from the pedals 110, among other things.

The goniometer 106 may be configured to measure angles of extensionand/or bend of body parts and to transmit the measured angles to thecomputing device 102 and/or the computing device 114. The goniometer 106may be included in an electronic device that includes the one or moreprocessing devices, memory devices, and/or network interface cards. Thegoniometer 106 may be attached to the user's body, for example, to anupper leg and a lower leg. The goniometer 106 may be coupled to the uservia a strap, an adhesive, a mechanical brace, or any other desiredattachment. The goniometer 106 may be disposed in a cavity of themechanical brace. The cavity of the mechanical brace may be located neara center of the mechanical brace where the mechanical brace affords tobend and extend. The mechanical brace may be configured to secure to anupper body part (e.g., arm, etc.) and a lower body part (e.g., leg,etc.) to measure the angles of bend as the body parts are extended awayfrom one another or retracted closer to one another.

The wristband 108 may include a 3-axis accelerometer to track motion inthe X, Y, and Z directions, an altimeter for measuring altitude, and/ora gyroscope to measure orientation and rotation. The accelerometer,altimeter, and/or gyroscope may be operatively coupled to a processingdevice in the wristband 108 and may transmit data to the processingdevice. The processing device may cause a network interface card totransmit the data to the computing device 102 and the computing device102 may use the data representing acceleration, frequency, duration,intensity, and patterns of movement to track steps taken by the userover certain time periods (e.g., days, weeks, etc.). The computingdevice 102 may transmit the steps to the computing device 114 executinga clinical portal 126. Additionally, in some embodiments, the processingdevice of the wristband 108 may determine the steps taken and transmitthe steps to the computing device 102. In some embodiments, thewristband 108 may use photoplethysmography (PPG) to measure heartratethat detects an amount of red light or green light on the skin of thewrist. For example, blood may absorb green light so when the heartbeats, the blood flow may absorb more green light, thereby enabling thedetection of heartrate. The heartrate may be sent to the computingdevice 102 and/or the computing device 114.

The computing device 102 may present the steps taken by the user and/orthe heartrate via respective graphical elements on the user portal 118,as discussed further below. The computing device may also use the stepstaken and/or the heart rate to control a parameter of operating theelectromechanical device 104. For example, if the heartrate exceeds atarget heartrate for a pedaling session, the computing device 102 maycontrol the electric motor 122 to reduce resistance being applied torotation of the radially-adjustable couplings 124. In another example,if the steps taken are below a step threshold for a day, the treatmentplan may increase the amount of time for one or more modes in which theuser is to operate the electromechanical device 104 to ensure theaffected body part is getting sufficient movement by reaching orexceeding the step threshold.

In some embodiments, the cloud-based computing system 116 may includeone or more servers 128 that form a distributed computing architecture.Each of the servers 128 may include one or more processing devices,memory devices, data storage, and/or network interface cards. Theservers 128 may be in communication with one another via any suitablecommunication protocol. The servers 128 may store profiles for each ofthe users that use the electromechanical device 104. The profiles mayinclude information about the users, such as respective treatment plans,the affected body parts, any procedures the users had performed on theaffected body parts, health, age, race, measured data from thegoniometer 106, measured data from the wristband 108, measured data fromthe pedals 110, user input received at the user portal 118 duringoperation of any of the modes of the treatment plan, a specification ofa level of discomfort, comfort, or general patient satisfaction that theuser experiences before and after any of the modes, before and aftersession images of the affected body part, and so forth.

In some embodiments, the cloud-based computing system 116 may include atraining engine 130 capable of generating one or more machine learningmodels 132. The machine learning models 132 may be trained to generatetreatment plans for the patients in response to receiving various inputs(e.g., a procedure performed on the patient, an affected body part onwhich the procedure was performed, other health characteristics ordemographic attributes (e.g., age, race, fitness level, etc.)). The oneor more machine learning models 132 may be generated by the trainingengine 130 and may be implemented in computer instructions executable byone or more processing devices of the training engine 130 and/or theservers 128. To generate the one or more machine learning models 132,the training engine 130 may train the one or more machine learningmodels 132. The training engine 130 may use a base data set of patientcharacteristics, treatment plans followed by the patient, and results ofthe treatment plans followed by the patients. The results may includeinformation indicating whether a given treatment plan led to fullrecovery of the affected body part, partial recovery of the affectedbody part, or lack of recovery of the affected body part, and the degreeto which such recovery was achieved. The training engine 130 may be arackmount server, a router computer, a personal computer, a portabledigital assistant, a smartphone, a laptop computer, a tablet computer, acamera, a video camera, a netbook, a desktop computer, a media center,an IoT device, or any combination of the above. The one or more machinelearning models 132 may refer to model artifacts that are created by thetraining engine 130 using training data that includes training inputsand corresponding target outputs. The training engine 130 may findpatterns in the training data that map the training input to the targetoutput, and generate the machine learning models 132 that capture thesepatterns. Although depicted separately from the computing device 102, insome embodiments, the training engine 130 and/or the machine learningmodels 132 may reside on the computing device 102 and/or the computingdevice 114.

The machine learning models 132 may include one or more of a neuralnetwork, such as an image classifier, recurrent neural network,convolutional network, generative adversarial network, a fully connectedneural network, or some combination thereof, for example. In someembodiments, the machine learning models 132 may be composed of a singlelevel of linear or non-linear operations or may include multiple levelsof non-linear operations. For example, the machine learning model 132may include numerous layers and/or hidden layers that performcalculations (e.g., dot products) using various neurons. Therehabilitation system architecture 100 can include additional and/orfewer components and is not limited to those illustrated in FIG. 1.

FIG. 2 illustrates a perspective view of an example of an exercise andrehabilitation device, such as the electromechanical device 104,according to certain embodiments of this disclosure. Theelectromechanical device 104 is shown having pedals 110 on oppositesides and which are adjustably positionable relative to one another onrespective radially-adjustable couplings 124. The electromechanicaldevice 104 is configured as a small and portable unit so that it iseasily transported to different locations at which rehabilitation ortreatment is to be provided, such as at patients' homes, alternativecare facilities, or the like. The patient may sit in a chair proximatethe electromechanical device 104 to engage the electromechanical device104 with their feet, for example.

The electromechanical device 104 includes a rotary device such asradially-adjustable couplings 124 or a flywheel or flywheels or the likerotatably mounted such as by a central hub to a frame 200 or othersupport. The pedals 110 are configured for interacting with a patient tobe rehabilitated and may be configured for use with lower bodyextremities such as the feet, legs, and the like, or with upper bodyextremities, such as the hands, arms, and the like. For example, thepedal 110 may be a bicycle pedal of the type having a foot supportrotatably mounted onto an axle with bearings. To locate the pedal on theradially-adjustable coupling 12. the axle may or may not have exposedend threads for engaging a mount on the radially-adjustable coupling124. The radially-adjustable coupling 124 may include an actuatorconfigured to radially adjust the location of the pedal to variouspositions on the radially-adjustable coupling 124.

Alternatively, the radially-adjustable coupling 124 may be configured tohave both pedals 110 on opposite sides of a single coupling 124. In someembodiments, as depicted, a pair of radially-adjustable couplings 124may be spaced apart from one another but interconnected to the electricmotor 122. In the depicted example, the computing device 102 may bemounted on the frame 200 and may be detachable and held by the userwhile the user operates the electromechanical device 104. The computingdevice 102 may present the user portal and control the operation of theelectric motor 122, as described herein.

In some embodiments, as described in U.S. Pat. No. 10,173,094 (U.S.application Ser. No. 15/700,293), which is incorporated by referenceherein in its entirety for all purposes, the electromechanical device104 may take the form of a traditional exercise/rehabilitation devicewhich is more or less non-portable and remains in a fixed location, suchas a rehabilitation clinic or medical practice. This embodiment of theelectromechanical device 104 may include a seat and is less portablethan the electromechanical device 104 shown in FIG. 2.

FIG. 3 illustrates example operations of a method 300 for controlling anelectromechanical device for rehabilitation in various modes accordingto certain embodiments of this disclosure. The method 300 may beperformed by processing logic that may include hardware (circuitry,dedicated logic, etc.), firmware, software, or a combination of them.The method 300 and/or each of their individual functions, subroutines,or operations may be performed by one or more processors of a controlsystem (e.g., computing device 102 of FIG. 1) implementing the method300. The method 300 may be implemented as computer instructions that,when executed by a processing device, execute the user portal 118. Incertain implementations, the method 300 may be performed by a singleprocessing thread. Alternatively, the method 300 may be performed by twoor more processing threads, each thread implementing one or moreindividual functions, routines, subroutines, or operations of themethods. Various operations of the method 300 may be performed by one ormore of the cloud-based computing system 116, the motor controller 120,the pedals 110, the goniometer 106, the wristband 108, and/or thecomputing device 114 of FIG. 1.

As discussed above, an electromechanical device may include one or morepedals coupled to one or more radially-adjustable couplings, an electricmotor coupled to the one or more pedals via the one or moreradially-adjustable couplings, and the control system including one ormore processing devices operatively coupled to the electric motor. Insome embodiments, the control system (e.g., computing device 102 and/ormotor controller 120) may store instructions and one or more operationsof the control system may be presented via the user portal. In someembodiments, the radially-adjustable couplings are configured fortranslating rotational motion of the electric motor to radial motion ofthe pedals.

At block 302, responsive to a first trigger condition occurring, theprocessing device may control the electric motor to operate in a passivemode by independently driving the one or more radially-adjustablecouplings rotationally coupled to the one or more pedals. “Independentlydrive” may refer to the electric motor driving the one or moreradially-adjustable couplings without the aid of another driving source(e.g., the user). The first trigger condition may include an initiationof a pedaling session via the user interface of the control system, aperiod of time elapsing, a detected physical condition (e.g., heartrate,oxygen level, blood pressure, etc.) of a user operating theelectromechanical device, a request received from the user via the userinterface, or a request received via a computing device communicativelycoupled to the control system (e.g., a request received from thecomputing device executing the clinical portal). While operating in thepassive mode, the processing device may control the electric motor toindependently drive the one or more radially-adjustable couplingsrotationally coupled to the one or more pedals at a controlled speedspecified in a treatment plan for a user operating the electromechanicaldevice.

In some embodiments, the electromechanical device may be configured suchthat the processor controls the electric motor to individually drive theradially-adjustable couplings. For example, the processing device maycontrol the electric motor to individually drive the left or rightradially-adjustable coupling, while allowing the user to provide theforce to drive the other radially-adjustable coupling. As anotherexample, the processing device may control the electric motor to driveboth the left and right radially-adjustable couplings but at differentspeeds. This granularity of control may be beneficial by controlling thespeed at which a healing body part is moved (e.g., rotated, flexed,extended, etc.) to avoid tearing tendons or causing pain to the user.

At block 304, responsive to a second trigger condition occurring, theprocessing device may control the electric motor to operate in anactive-assisted mode by measuring (block 306) revolutions per minute ofthe one or more radially-adjustable couplings, and causing (block 308)the electric motor to drive the one or more radially-adjustablecouplings rotationally coupled to the one or more pedals when themeasured revolutions per minute satisfy a threshold condition. Thesecond trigger condition may include an initiation of a pedaling sessionvia the user interface of the control system, a period of time elapsing,a detected physical condition (e.g., heartrate, oxygen level, bloodpressure, etc.) of a user operating the electromechanical device, arequest received from the user via the user interface, or a requestreceived via a computing device communicatively coupled to the controlsystem (e.g., a request received from the computing device executing theclinical portal). The threshold condition may be satisfied when themeasured revolutions per minute are less than a minimum revolutions perminute. In such an instance, the electric motor may begin driving theone or more radially-adjustable couplings to increase the revolutionsper minute of the radially-adjustable couplings.

As with the passive mode, in the active-assisted mode, the processingdevice may control the electric motor to individually drive the one ormore radially-adjustable couplings. For example, if just a right knee isbeing rehabilitated, the revolutions per minute of the rightradially-adjustable coupling may be measured and the processing devicemay control the electric motor to individually drive the rightradially-adjustable coupling when the measured revolutions per minuteare less than the minimum revolutions per minute. In some embodiments,there may be different minimum revolutions per minute set for the leftradially-adjustable coupling and the right radially-adjustable coupling,and the processing device may control the electric motor to individuallydrive the left radially-adjustable coupling and the rightradially-adjustable coupling as appropriate to maintain the differentminimum revolutions per minute.

At block 310, responsive to a third trigger condition occurring, theprocessing device may control the electric motor to operate in aresistive mode by providing resistance to rotation of the one or moreradially-adjustable couplings coupled to the one or more pedals. Thethird trigger condition may include an initiation of a pedaling sessionvia the user interface of the control system, a period of time elapsing,a detected physical condition (e.g., heartrate, oxygen level, bloodpressure, etc.) of a user operating the electromechanical device, arequest received from the user via the user interface, or a requestreceived via a computing device communicatively coupled to the controlsystem (e.g., a request received from the computing device executing theclinical portal).

In some embodiments, responsive to a fourth trigger condition occurring,the processing device may be further configured to control the electricmotor to operate in an active mode by powering off to enable anothersource (e.g., the user) to drive the one or more radially-adjustablecouplings via the one or more pedals. In the active mode, the anothersource may drive the one or more radially-adjustable couplings at anydesired speed via the one or more pedals.

In some embodiments, the processing device may control the electricmotor to operate in each of the passive mode, the active-assisted mode,the resistive mode, and/or the active mode for a respective period oftime during a pedaling session (e.g., based on a treatment plan for auser operating the electromechanical device). In some embodiments, thevarious modes and the respective periods of time may be selected by aclinician that sets up the treatment plan using the clinical portal. Insome embodiments, the various modes and the respective periods of timemay be selected by a machine learning model trained to receiveparameters (e.g., procedure performed on the user, body part on whichthe procedure was performed, health of the user) and to output atreatment plan to rehabilitate the affected body part, as describedabove.

In some embodiments, the processing device may modify one or morepositions of the one or more pedals on the one or moreradially-adjustable couplings to change one or more diameters of rangesof motion of the one or more pedals during any of the passive mode, theactive-assisted mode, the resistive mode, and/or the active modethroughout a pedaling session for a user operating the electromechanicaldevice. The processing device may further be configured to modify theposition of one of the one or more pedals on one of the one or moreradially-adjustable couplings to change the diameter of the range ofmotion of the one of the one or more pedals while maintaining anotherposition of another of the one or more pedals on another of the one ormore radially-adjustable couplings to maintain another diameter ofanother range of motion of another pedal. In some embodiments, theprocessing device may cause both positions of the pedals to move tochange the diameter of the range of motion for both pedals. The amountof movement of the positions of the pedals may be individuallycontrolled in order to provide different diameters of ranges of motionsof the pedals as desired.

In some embodiments, the processing device may receive, from thegoniometer worn by the user operating the electromechanical device, atleast one of an (i) angle of extension of a joint of the user during apedaling session or an (ii) angle of bend of the joint of the userduring the pedaling session. In some instances, the joint may be a kneeor an elbow. The goniometer may be configured to measure the angles ofbend and/or extension of the joint and to continuously, continually, orperiodically transmit the angle measurements received by the processingdevice. The processing device may modify the positions of the pedals onthe radially-adjustable couplings to change the diameters of the rangesof motion of the pedals based on the at least one of the angle ofextension of the joint of the user or the angle of bend of the joint ofthe user.

In some embodiments, the processing device may receive, from thegoniometer worn by the user, a set of angles of extension between anupper leg and a lower leg at a knee of the user as the user extends thelower leg away from the upper leg via the knee. In some embodiments, thegoniometer may send the set of angles of extension between an upper arm,upper body, etc. and a lower arm, lower body, etc. The processing devicemay present, on a user interface of the control system, a graphicalanimation of the upper leg, the lower leg, and the knee of the user asthe lower leg is extended away from the upper leg via the knee. Thegraphical animation may include the set of angles of extension as theset of angles of extension changes during the extension. The processingdevice may store, in a data storage of the control system, a lowestvalue of the set of angles of extension as an extension statistic for anextension session. A set of extension statistics may be stored for a setof extension sessions specified by the treatment plan. The processingdevice may present progress of the set of extension sessions throughoutthe treatment plan via a graphical element (e.g., line graph, bar chart,etc.) on the user interface presenting the set of extension statistics.

In some embodiments, the processing device may receive, from thegoniometer worn by the user, a set of angles of bend or flex between anupper leg and a lower leg at a knee of the user as the user retracts thelower leg closer to the upper leg via the knee. In some embodiments, thegoniometer may send the set of angles of bend between an upper arm,upper body, etc. and a lower arm, lower body, etc. The processing devicemay present, on a user interface of the control system, a graphicalanimation of the upper leg, the lower leg, and the knee of the user asthe lower leg is retracted closer to the upper leg via the knee. Thegraphical animation may include the set of angles of bend as the set ofangles of bend changes during the bending. The processing device maystore, in a data storage of the control system, a highest value of theset of angles of bend as a bend statistic for a bend session. A set ofbend statistics may be stored for a set of bend sessions specified bythe treatment plan. The processing device may present progress of theset of bend sessions throughout the treatment plan via a graphicalelement (e.g., line graph, bar chart, etc.) on the user interfacepresenting the set of bend statistics.

In some embodiments, the angles of extension and/or bend of the jointmay be transmitted by the goniometer to a computing device executing aclinical portal. A clinician may operate the computing device executingthe clinical portal. The clinical portal may present a graphicalanimation in real-time of the upper leg extending away from the lowerleg and/or the upper leg bending closer to the lower leg during apedaling session, extension session, and/or a bend session of the user.In some embodiments, the clinician may provide notifications to thecomputing device to present via the user portal. The notifications mayindicate that the user has satisfied a target extension and/or bendangle. Other notifications may indicate that the user has extended orretracted a body part too far and should cease the extension and/or bendsession. In some embodiments, the computing device executing theclinical portal may transmit a control signal to the control system tomove a position of a pedal on the radially-adjustable coupling based onthe angle of extension or angle of bend received from the goniometer.That is, the clinician can in real-time increase a diameter of range ofmotion for a body part of the user based on the measured angles ofextension and/or bend during a pedaling session. This may enable theclinician to dynamically control the pedaling session to enhance therehabilitation results of the pedaling session.

In some embodiments, the processing device may receive, from a wearabledevice (e.g., a wristband), a number of steps taken by a user over acertain time period (e.g., a day, a week, etc.). The processing devicemay calculate whether the number of steps satisfies a step threshold ofa walking session of a treatment plan for the user. The processingdevice may be configured to present on a user interface of the controlsystem the number of steps taken by the user and may be configured topresent an indication of whether the number of steps satisfies the stepthreshold.

The wearable device, which is interchangeably described herein as awristband, though a person having ordinary skill in the art will readilycomprehend in light of having read the present disclosure that othervarieties of wearable devices may also be used without departing fromthe scope and intent of the present disclosure, may also measure one ormore vital statistics of the user, such as a heartrate, oxygen level,blood pressure, and the like. The measurements of the vital statisticsmay be performed at any suitable time, such as during a pedalingsession, walking session, extension session, bend session, and/or anyother desired session. The wristband may transmit the one or more vitalstatistics to the control system. The processing device of the controlsystem may use the vital statistics to determine whether to reduceresistance the electric motor is providing for the purpose of loweringone of the vital statistics (e.g., heartrate) when that vital statisticis above a threshold, to determine whether the user is in pain when oneof the vital statistics is elevated beyond a threshold, to determinewhether to provide a notification indicating the user should take abreak or increase the intensity of the appropriate session, and soforth.

In some embodiments, the processing device may receive a request to stopthe one or more pedals from moving. The request may be received by auser selecting on the user portal of the control system a graphical iconrepresenting “stop.” The processing device may cause the electric motorto lock and stop the one or more pedals from moving over a configuredperiod of time (e.g., instantly, over 1 second, 2 seconds, 3 seconds, 5seconds, 10 seconds, or any period of time less than those, more thanthose or in between those, etc.). One benefit of including an electricmotor in the electromechanical device is that the motor can beconfigured to provide the ability to stop the movement of the pedals assoon as a user desires.

In some embodiments, the processing device may receive, from one or moreforce sensors operatively coupled to the one or more pedals and the oneor more processing devices, one or more measurements of force on the oneor more pedals. The force sensors may be operatively coupled to the oneor more processing devices via a wireless connection (e.g., Bluetooth)enabled by wireless circuitry in the pedals. The processing device maydetermine, based on the one or more measurements of force, whether theuser has fallen from the electromechanical device. Responsive todetermining that the user has fallen from the electromechanical device,the processing device may lock the electric motor to stop the one ormore pedals from moving.

Additionally or alternatively, the processing device may determine,based on the one or more measurements of force that the user's feet orhands have separated from the pedals. Responsive to determining that thefeet or hands have separated from the pedals, the processing device maylock the electric motor to stop the one or more pedals from moving.Also, the processing device may present a notification on a userinterface of the control system, such notification instructing the userto place their feet or hands in contact with the pedals.

In some embodiments, the processing device may receive, from the forcesensors operatively coupled to the one or more pedals, the measurementsof force exerted by a user on the pedals during a pedaling session.While the user pedals during the pedaling session, the processing devicemay present the respective measurements of force on each of the pedalson a separate respective graphical scale on the user interface of thecontrol system. Various graphical indicators may be presented on theuser interface to indicate when the force is below a threshold targetrange, is within the threshold target range, and/or exceeds thethreshold target range. Notifications may be presented to encourage theuser to apply more force and/or less force to achieve the thresholdtarget range of force. For example, the processing device may beconfigured to present a first notification on the user interface afterthe one or more measurements of force satisfy a pressure threshold andto present a second notification on the user interface after the one ormore measurements do not satisfy the pressure threshold.

In addition, the processing device may provide an indicator to the userbased on the one or more measurements of force. The indicator mayinclude at least one of (1) providing haptic feedback in the pedals,handles, and/or seat of the electromechanical device, (2) providingvisual feedback on the user interface (e.g., an alert, a light, a sign,etc.), (3) providing audio feedback via an audio subsystem (e.g.,speaker) of the electromechanical device, or (4) illuminating a warninglight of the electromechanical device.

In some embodiments, the processing device may receive, from anaccelerometer of the control system, motor controller, pedal, or thelike, a measurement of acceleration of movement of the electromechanicaldevice. The processing device may determine whether theelectromechanical device has moved excessively relative to a verticalaxis (e.g., fallen over) based on the measurement of acceleration.Responsive to determining that the electromechanical device has movedexcessively relative to the vertical axis based on the measurement ofacceleration, the processing device may lock the electric motor to stopthe one or more pedals from moving.

After a pedaling session is complete, the processing device may lock theelectric motor to prevent the one or more pedals from moving a certainamount of time after the completion of the pedaling session. This mayenable healing of the body part being rehabilitated and prevent strainon that body part by excessive movement. Upon expiration of the certainamount of time, the processing device may unlock the electric motor toenable movement of the pedals again.

The computing device can include a user portal. The user portal mayprovide an option to image the body part being rehabilitated. The userportal may include a display and a camera. For example, the user mayplace the body part within an image capture section, such as a camera,of the user portal and select an icon to capture an image of the bodypart. An icon, such as a camera icon, may be located on a display of theuser portal. The user may select the camera icon to use the camera tocapture an image or to take a photograph of a site of the body of theuser. The site may be a body part such as a leg, arm, joint, such as aknee or an elbow, or any other desired site of the body of the user. Theprocessing device can execute the instructions to store the image orphotograph. The processing device may execute the instructions totransmit the image or photograph to a clinical portal. The images may becaptured before and after a pedaling session, walking session, extensionsession, and/or bend session. These images may be sent to thecloud-based computing system to use as training data to enable themachine-learning model to determine the effects of the session. Further,the images may be sent to the computing device executing the clinicalportal to enable the clinician to view the results of the sessions andmodify the treatment plan if desired and/or provide notifications (e.g.,reduce resistance, increase resistance, extend the joint further orless, etc.) to the user if desired.

FIG. 4 illustrates example operations of a method 400 for controlling anamount of resistance provided by an electromechanical device accordingto certain embodiments of this disclosure. Method 400 includesoperations performed by processing devices of the control system (e.g.,computing device 102) of FIG. 1. In some embodiments, one or moreoperations of the method 400 are implemented in computer instructionsthat, when executed by a processing device, execute the control systemand/or the user portal. Various operations of the method 400 may beperformed by one or more of the computing device 114, the cloud-basedcomputing system 116, the motor controller 120, the pedal 110, thegoniometer 106, and/or the wristband 108. The method 400 may beperformed in the same or a similar manner as described above in regardsto method 300.

At block 402, the processing device may receive configurationinformation for a pedaling session. The configuration information may bereceived via selection by the user on the user portal executing on thecomputing device, received from the computing device executing theclinical portal, downloaded from the cloud-based computing system,retrieved from a memory device of the computing device executing theuser portal, or some combination thereof. For example, the clinician mayselect the configuration information for a pedaling session of a patientusing the clinical portal and upload the configuration information fromthe computing device to a server of the cloud-based computing system.

The configuration information for the pedaling session may specify oneor more modes in which the electromechanical device is to operate, andconfiguration information specific to each of the modes, an amount oftime to operate each mode, and the like. For example, for a passivemode, the configuration information may specify a position for the pedalto be in on the radially-adjustable couplings and a speed at which tocontrol the electric motor. For the resistive mode, the configurationinformation may specify an amount of resistive force the electric motoris to apply to rotate radially-adjustable couplings during the pedalingsession, a maximum pedal force that is desired for the user to exert oneach pedal of the electromechanical device during the pedaling session,and/or a revolutions per minute threshold for the radially-adjustablecouplings. For the active-assisted mode, the configuration informationmay specify a minimum pedal force and a maximum pedal force desired forthe user to exert on each pedal of the electromechanical device, a speedat which to operate the electric motor for driving one or both of theradially-adjustable couplings, and so forth.

In some embodiments, responsive to receiving the configurationinformation, the processing device may determine that a triggercondition has occurred. The trigger condition may include receiving aselection of a mode from a user, an amount of time elapsing, receiving acommand from the computing device executing the clinical portal, or thelike. The processing device may control, based on the trigger conditionoccurring, the electric motor to operate in a resistive mode byproviding, based on the trigger condition, a resistance to rotation ofthe pedals.

At block 404, the processing device may set a resistance parameter and amaximum pedal force parameter based on the amount of resistive force andthe maximum pedal force, respectively, included in the configurationinformation for the pedaling session. The resistance parameter and themaximum force parameter may be stored in a memory device of thecomputing device and used to control the electric motor during thepedaling session. For example, the processing device may transmit acontrol signal along with the resistance parameter and/or the maximumpedal force parameter to the motor controller, and the motor controllermay drive the electric motor using at least the resistance parameterduring the pedaling session.

At block 406, the processing device may measure force applied to pedalsof the electromechanical device as a user operates (e.g., pedals) theelectromechanical device. The electric motor of the electromechanicaldevice may provide resistance during the pedaling session based on theresistance parameter. A force sensor disposed in each pedal andoperatively coupled to the motor controller and/or the computing deviceexecuting the user portal may measure the force exerted on each pedalthroughout the pedaling session. The force sensors may transmit themeasured force to a processing device of the pedals, which in turn maycause a communication device to transmit the measured force to theprocessing device of the motor controller and/or the computing device.

At block 408, the processing device may determine whether the measuredforce exceeds the maximum pedal force parameter. To make thisdetermination, the processing device may compare the measured force tothe maximum pedal force parameter.

At block 410, responsive to determining that the measured force exceedsthe maximum pedal force parameter, the processing device may reduce theresistance parameter to maintain the revolutions per minute thresholdspecified in the configuration information so the electric motor appliesless resistance during the pedaling session. Reducing the resistance mayenable the user to pedal faster, thereby increasing the revolutions perminute of the radially-adjustable couplings. Maintaining the revolutionsper minute threshold may ensure that the patient is exercising theaffected body part as rigorously as desired during the mode. Responsiveto determining that the measured force does not exceed the maximum pedalforce parameter, the processing device may, during the pedaling session,maintain the same maximum pedal force parameter specified by theconfiguration information.

In some embodiments, the processing device may determine that a secondtrigger condition has occurred. The second trigger condition may includereceiving a selection of a mode from a user via the user portal, anamount of time elapsing, receiving a command from the computing deviceexecuting the clinical portal, or the like. The processing device maycontrol, based on the trigger condition occurring, the electric motor tooperate in a passive mode by independently driving one or moreradially-adjustable couplings coupled to the pedals in a rotationalfashion. The electric motor may drive the one or moreradially-adjustable couplings at a speed specified in the configurationinformation without another driving source. Also, the electric motor maydrive each of the one or more radially-adjustable couplings individuallyat different speeds.

In some embodiments, the processing device may determine that a thirdtrigger condition has occurred. The third trigger condition may besimilar to the other trigger conditions described herein. The processingdevice may control, based on the third trigger condition occurring, theelectric motor to operate in an active-assisted mode by measuringrevolutions per minute of the one or more radially-adjustable couplingscoupled to the pedals and, when the measured revolutions per minutesatisfy a threshold condition, causing the electric motor to drive, in arotational fashion, the one or more radially-adjustable couplingscoupled to the pedals.

In some embodiments, the processing device may receive, from agoniometer worn by the user operating the electromechanical device, aset of angles of extension between an upper leg and a lower leg at aknee of the user. The set of angles is measured as the user extends thelower leg away from the upper leg via the knee. In some embodiments, theangles of extension may represent angles between extending a lower armaway from an upper arm at an elbow. Further, the processing device mayreceive, from the goniometer, a set of angles of bend between the upperleg and the lower leg at the knee of the user. The set of angles of bendis measured as the user retracts the lower leg closer to the upper legvia the knee. In some embodiments, the angles of bend represent anglesbetween bending a lower arm closer to an upper arm at an elbow.

The processing device may determine whether a range of motion thresholdcondition is satisfied based on the set of angles of extension and theset of angles of bend. Responsive to determining that the range ofmotion threshold condition is satisfied, the processing device maymodify a position of one of the pedals on one of the radially-adjustablecouplings to change a diameter of a range of motion of the one of thepedals. Satisfying the range of motion threshold condition may indicatethat the affected body part is strong enough or flexible enough toincrease the range of motion allowed by the radially-adjustablecouplings.

FIG. 5 illustrates example operations of a method 500 that uses agoniometer according to certain embodiments of this disclosure formeasuring angles of bend and/or extension of a lower leg relative to anupper leg. In some embodiments, one or more operations of the method 500are implemented in computer instructions executed by the processingdevices of the goniometer 106 of FIG. 1. The method 500 may be performedin the same or a similar manner as described above in regards to method300.

At block 502, the processing device may receive a set of angles from theone or more goniometers. The goniometer may measure angles of extensionand/or bend between an upper body part (leg, arm, torso, neck, head,etc.) and a lower body part (leg, arm, torso, neck head, hand, feet,etc.) as the body parts are extended and/or bent during various sessions(e.g., pedaling session, walking session, extension session, bendsession, etc.). The set of angles may be received while the user ispedaling one or more pedals of the electromechanical device.

At block 504, the processing device may transmit the set of angles to acomputing device controlling the electromechanical device, via one ormore network interface cards. The electromechanical device may beoperated by a user rehabilitating an affected body part. For example,the user may have recently had surgery to repair a tear of an anteriorcruciate ligament (ACL). Accordingly, the goniometer may be securedproximate to the knee by the affected ACL around the upper and lowerleg.

In some embodiments, transmitting the set of angles to the computingdevice controlling the electromechanical device may cause the computingdevice, based on the set of angles satisfying a range of motionthreshold condition to adjust a position of one of one or more pedals ona radially-adjustable coupling. The range of motion threshold conditionmay be set based on configuration information for a treatment planreceived from the cloud-based computing system or the computing deviceexecuting the clinical portal. The position of the pedal is adjusted toincrease a diameter of a range of motion transited by an upper body part(e.g., an upper leg), lower body part (e.g., a lower leg), and a joint(e.g., knee) of the user as the user operates the electromechanicaldevice. In some embodiments, the position of the pedal may be adjustedin real-time while the user is operating the electromechanical device.In some embodiments, the user portal may present a notification to theuser indicating that the position of the pedal should be modified, andthe user may modify the position of the pedal and resume operating theelectromechanical device with the modified pedal position.

In some embodiments, transmitting the set of angles to the computingdevice may cause the computing device executing the user portal topresent the set of angles in a graphical animation of the lower bodypart and the upper body part moving in real-time during the extension orthe bend. In some embodiments, the set of angles may be transmitted tothe computing device executing the clinical portal, and the clinicalportal may present the set of angles in a graphical animation of thelower body part and the upper body part moving in real-time during theextension or the bend. In addition, the set of angles may be presentedin one or more graphs or charts on the clinical portal and/or the userportal to depict progress of the extension or bend for the user.

FIGS. 6-12 illustrate various detailed views of components of therehabilitation system disclosed herein. The rehabilitation system caninclude additional and/or fewer components and is not limited to thoseillustrated in FIGS. 6-12.

For example, FIG. 6 illustrates an exploded view of components of theexercise and rehabilitation electromechanical device 104 according tocertain embodiments of this disclosure. The electromechanical device 104may include a pedal 110 that couples to a left radially-adjustablecoupling 124 via a left pedal arm assembly 600 disposed within a cavityof the left radially-adjustable coupling 124. The radially-adjustablecoupling 124 may be disposed in a circular opening of a left outer cover601 and the pedal arm assembly 600 may be secured to a drivesub-assembly 602. The drive sub-assembly 602 may include the electricmotor 122 operatively coupled to the motor controller 120. The drivesub-assembly 602 may include one or more braking mechanisms, such asdisc brakes, that enable instantaneously locking of the electric motor122 or stopping of the electric motor 122 over a period of time. Theelectric motor 122 may be any suitable electric motor (e.g., acrystallite electric motor). The drive sub-assembly 602 may be securedto a frame sub-assembly 604. A top support sub-assembly 606 may besecured on top of the drive sub-assembly 602.

A right pedal 110 couples to a right radially-adjustable coupling 124via a right pedal arm assembly 600 disposed within a cavity of the rightradially-adjustable coupling 124. The right radially-adjustable coupling124 may be disposed in a circular opening of a right outer cover 608 andthe right pedal arm assembly 600 may be secured to the drivesub-assembly 602. An internal volume may be defined when the left outercover 601 and the right outer cover 608 are secured together around theframe sub-assembly 604. The left outer cover 601 and the right outercover 608 may also make up the frame of the electromechanical device 104when secured together. The drive sub-assembly 602, top supportsub-assembly 606, and pedal arm assemblies 600 may be disposed withinthe internal volume upon assembly. A storage compartment 610 may besecured to the frame.

Further, a computing device arm assembly 612 may be secured to the frameand a computing device mount assembly 614 may be secured to an end ofthe computing device arm assembly 612. The computing device 102 may beattached or detached from the computing device mount assembly 614 asdesired during operation of the electromechanical device 104.

FIG. 7 illustrates an exploded view of a pedal arm assembly 600according to certain embodiments of this disclosure. The pedal armassembly 600 includes a stepper motor 700. The stepper motor 700 may beany suitable stepper motor. The stepper motor 700 may include multiplecoils organized in groups referred to as phases. Each phase may beenergized in sequence to rotate the motor one step at a time. Thecontrol system may use the stepper motor 700 to move the position of thepedal on the radially-adjustable coupling.

The stepper motor 700 includes a barrel and pin inserted through a holein a motor mount 702. A shaft coupler 704 and a bearing 706 includethrough holes that receive an end of a first end lead screw 708. Thelead screw 708 is disposed in a lower cavity of a pedal arm 712. The pinof the electric motor may be inserted in the through holes of the shaftcoupler 704 and the bearing 706 to secure to the first end of the leadscrew 708. The motor mount 702 may be secured to a frame of the pedalarm 712. Another bearing 706 may be disposed on another end of the leadscrew 708. An electric slip ring 710 may be disposed on the pedal arm712.

A linear rail 714 is disposed in and secured to an upper cavity of thepedal arm 712. The linear rail 714 may be used to move the pedal todifferent positions as described further below. A number of linearbearing blocks 716 are disposed onto a top rib and a bottom rib of thelinear rail 714 such that the bearing blocks 716 can slide on the ribs.A spindle carriage 718 is secured to each of the bearing blocks 716. Asupport bearing 720 is used to provide support. The lead screw 708 maybe inserted in through hole 722 of the spindle carriage 718. A spindle724 may be secured at an end of the through hole 722 to house an end ofthe lead screw 708. A spindle 724 may be attached to a hole of thespindle carriage 718. When the pedal arm assembly 600 is assembled, theend of the spindle 724 may protrude through a hole of a pedal arm cover726. When the stepper motor 700 turns on, the lead screw 708 can berotated, thereby causing the spindle carriage 718 to move radially alongthe linear rail 714. As a result, the spindle 724 may radially traversethe opening of the pedal arm cover 726 as desired.

FIG. 8 illustrates an exploded view of a drive sub-assembly 602according to certain embodiments of this disclosure. The drivesub-assembly 602 includes an electric motor 122. The electric motor 122is partially disposed in a crank bracket housing 800. A side of theelectric motor 122 includes a small molded pulley 802 secured to it viaa small pulley plate 804 by screws 806. Also disposed within the crankbracket housing 800 is a timing belt 808 and a large molded pulley 810.The timing belt 808 may include teeth on an interior side that engagewith teeth on the small molded pulley 802 and the large molded pulley810 to cause the large molded pulley 810 to rotate when the electricmotor 122 operates. The crank bracket housing 800 includes mountedbearing 812 on both sides through which crankshafts 814 of the largemolded pulley 810 protrude. The crankshafts 814 may be operativelycoupled to the pedal assemblies.

FIG. 9 illustrates an exploded view of a portion of a goniometer 106according to certain embodiments of this disclosure. The goniometer 106includes an upper section 900 and a lower section 902. The upper section900 and the lower section 902 are rotatably coupled via a lower leg sidebrace 904. A bottom cap 906 may be inserted into a protruded cavity 918of the lower leg side brace 904. In some embodiments, the bottom cap 906includes a microcontroller 908. A thrust roller bearing 910 fits overthe protruded cavity 918 of the lower leg side brace 904, which isinserted into a cavity 920 of the upper section 900 and secured to theupper section 900 via an attachment, such as a screw 922. Second cavity924 is located is on a side of the upper section 900 opposite to theside having the cavity 920 with the inserted protruded cavity 918. Aradial magnet 912 and a microcontroller (e.g., a printed control board)914 are disposed in the second cavity 924 and a top cap 916 is placed ontop to cover the second cavity 924. The microcontroller 908 and/or themicrocontroller 914 may include a network interface card 940 or a radioconfigured to communicate via a short range wireless protocol (e.g.,Bluetooth), a processing device 944, and a memory device 938. Further,either or both of the microcontrollers 908 and 914 may include amagnetic sensing encoder chip that senses the position of the radialmagnet 912. The position of the radial magnet 912 may be used todetermine an angle of bend or extension 2118, 2218 of the goniometer 106by the processing device(s) of the microcontrollers 908 and/or 914. Theangles of bend/extension 2118, 2218 may be transmitted via the radio tothe computing device 102. The lower section 902 defines an opening 932configured to receive a protruding tab 934 and a spring 930. The spring930 may be disposed along the opening 932 between the protruding tab 934and a side cap 926. The side cap 926 may be coupled to the protrudingtab 934 through the opening 932. One or more attachments 928 may couplethe side cap 926 to the protruding tab 934. The attachment 928 may be ascrew, a magnet, or any other desired attachment. The spring 930 can beconfigured to apply pressure on the side cap 926 to provide limitedmovement of the side cap 926 relative to the opening 932. The spring 930may allow for movement of the lower section 902 relative to the uppersection 900. The electronic device 106 can include additional and/orfewer components, including in different locations and/orconfigurations, and is not limited to those illustrated in FIG. 9.

FIG. 10 illustrates a top view of a wristband 108 according to certainembodiments of this disclosure. The wristband 108 includes a strap witha clasp to secure the strap to a wrist of a person. The wristband 108may include one or more processing devices, memory devices, networkinterface cards, and so forth. The wristband 108 may include a display1000 configured to present information measured by the wristband 108.The wristband 108 may include an accelerometer, gyroscope, and/or analtimeter, as discussed above. The wristband 108 may also include alight sensor to detect a heartrate of the user wearing the wristband108. In some embodiments, the wristband 108 may include a pulse oximeterto measure an amount of oxygen (oxygen saturation) in the blood bysending infrared light into capillaries and measuring how much light isreflected off the gases. The wristband 108 may transmit the measurementdata to the computing device 102.

FIG. 11 illustrates an exploded view of a pedal 110 according to certainembodiments of this disclosure. The pedal 110 includes a molded pedaltop 1100 disposed on top of a molded pedal top support plate 1102. Themolded pedal top 1100 and the molded pedal top support plate 1102 aresecured to a molded pedal base plate 1104 via screws, for example. Themolded pedal base plate 1104 includes a strain gauge 1106 configured tomeasure force exerted on the pedal 110. The pedal 110 also includes amolded pedal bottom 1108 where a microcontroller 1110 is disposed. Themicrocontroller 1110 may include processing devices, memory devices,and/or a network interface card or radio configured to communicate via ashort range communication protocol, such as Bluetooth. The strain gauge1106 is operatively coupled to the microcontroller 1110 and the straingauge 1106 transmits the measured force to the microcontroller 1110. Themicrocontroller 1110 transmits the measured force to the computingdevice 102 and/or the motor controller 120 of the electromechanicaldevice 104. The molded pedal top 1100, the molded pedal top supportplate 1102, and the molded pedal base plate 1104 are secured to themolded pedal bottom 1108, which is further secured to a molded pedalbottom cover 1112. The pedal 110 also includes a spindle 1114 thatcouples with the pedal arm assembly.

FIG. 12 illustrates additional views of the pedal 110 according tocertain embodiments of this disclosure. A top view 1200 of the pedal 110is depicted, a perspective view 1202 of the pedal 110 is depicted, afront view 1204 of the pedal 110 is depicted, and a side view 1206 ofthe pedal 110 is depicted.

FIGS. 13-29 illustrate different user interfaces of the user portal 118.A user may use the computing device 102, such as a tablet, to executethe user portal 118. In some embodiments, as they perform a pedalingsession, the user may hold the tablet in their hands and view the userportal 118. Various user interfaces of the user portal 118 may provideprompts for the users to affirm that they are wearing the goniometer andthe wristband, and that their feet are on the pedals.

FIG. 13 illustrates an example user interface 1300 of the user portal118, the user interface 1300 presenting a treatment plan 1302 for a useraccording to certain embodiments of this disclosure. The treatment plan1302 may be received from the computing device 114 executing theclinical portal 126 and/or downloaded from the cloud-based computingsystem 116. The physician may have generated the treatment plan 1302using the clinical portal 126 or the trained machine learning model(s)132 may have generated the treatment plan 1302 for the user. Asdepicted, the treatment plan 1302 presents the type of procedure (“rightknee replacement”) that the patient underwent. Further, the treatmentplan 1302 presents a pedaling session including a combination of themodes in which to operate the electromechanical device 104, as well as arespective set period of time for operating each of the modes. Forexample, the treatment plan 1302 indicates operating theelectromechanical device 104 in a passive mode 1304 for 5 minutes, anactive-assisted mode 1306 for 5 minutes, an active mode 1308 for 5minutes, a resistive mode 1310 for 2 minutes, the active mode 1308 againfor 3 minutes, and the passive mode 1304 for 2 minutes. The totalduration of the pedaling session is 22 minutes and the treatment plan1302 also specifies that the position of the pedal may be set accordingto a comfort level of the patient or user. The user interface 1300 alsomay display the number of sessions scheduled per day and how manysessions have been completed. Prior to the user beginning the pedalingsession, the user interface 1300 may be displayed as an introductoryuser interface.

FIG. 14 illustrates an example user interface 1400 of the user portal118, the user interface 1400 presenting pedal settings 1402 for a useraccording to certain embodiments of this disclosure. As depicted,graphical representation of feet are presented on the user interface1400, as are two sliders including positions which correspond toportions of the feet. For example, a left slider 1404 includes positionsL1, L2, L3, L4, and L5. A right slider includes positions R1, R2, R3,R4, and R5. A button 1404 may be slid up or down on the sliders toautomatically adjust via the pedal arm assembly the pedal position onthe radially-adjustable coupling. The pedal positions may beautomatically populated according to the treatment plan but the user hasthe option to modify them based on comfort level. The changed positionsmay be stored locally on the computing device 102, sent to the computingdevice 114 executing the clinical portal 126, and/or sent to thecloud-based computing system 116.

FIG. 15 illustrates an example user interface 1500 of the user portal118, the user interface 1500 presenting a scale 1502 for measuringdiscomfort of the user at a beginning of a pedaling session according tocertain embodiments of this disclosure. The scale 1502 may provideoptions ranging from no discomfort (e.g., smiley face), to milddiscomfort (e.g., moderate face), to high discomfort (e.g., sad face).This discomfort information may be stored locally on the computingdevice 102, sent to the computing device 114 executing the clinicalportal 126, and/or sent to the cloud-based computing system 116. Forexample, the user interface 1500 may be configured to receive a userinput 1504, such as a pain score, from the user. The user input 1504(e.g., a first user input) may be provided at or near the beginning ofthe rehabilitation session, or at any other desired time.

FIG. 16 illustrates an example user interface 1600 of the user portal118, the user interface is configured to present that theelectromechanical device 104 is operating in a passive mode 1602according to certain embodiments of this disclosure. The user interface1600 is configured to present which pedaling session 1604 (session 1) isbeing performed and how many other pedaling sessions are scheduled forthe day. The user interface 1600 also is configured to present an amountof time left in the pedaling session 1604 and an amount of time left inthe current mode (passive mode). The full lineup of modes in thepedaling session 1604 is displayed in box 1606. While in the passivemode, the computing device controls the electric motor to independentlydrive the radially-adjustable couplings so the user does not have toexert any force on the pedals but such that their affected body part(s)and/or muscle(s) are enabled to be stretched and warmed up. At any time,if the user so desires, the user may select a stop button 1608, whichmay cause the electric motor to lock and stop the rotation of theradially-adjustable couplings instantaneously or over a set period oftime. A descriptive box 1610 may provide instructions related to thecurrent mode to the user.

FIGS. 17A-D illustrate an example user interface 1700 of the user portal118, the user interface 1700 is configured to present that theelectromechanical device 104 is operating in active-assisted mode 1702and the user is applying various amounts of force to the pedalsaccording to certain embodiments of this disclosure. Graphicalrepresentations 1704 of feet are configured to be presented on the userinterface 1700 and the graphical representations may be configured todisplay the amount of force measured at the pedals. The force sensors(e.g., strain gauge) in the pedal may measure the forces exerted by theuser and the microcontroller of the pedal may transmit the forcemeasurements to the computing device 102. Notifications may beconfigured to be presented when the amount of force is outside of aforce threshold 1730 (e.g., either below a range of force threshold 1730or above the range of force threshold 1730). For example, in FIG. 17A,the right foot includes a notification to apply more force with theright foot because the current force measured at the pedal 110 is belowthe force threshold 1730.

A virtual tachometer 1706 is also presented that measures therevolutions per time period (e.g., per minute) of theradially-adjustable couplings and displays the current speed at whichthe user is pedaling. For example, the tachometer 1706 includes areas1708 (between 0 and 10 revolutions per minute and between 20 and 30revolutions per minute) that the user should avoid according to theirtreatment plan. In the depicted example, the treatment plan specifiesthat the user should maintain the speed at between 10 and 20 revolutionsper minute. The electromechanical device 104 transmits the speed to thecomputing device 102 and the needle 1710 moves in real-time as the useroperates the pedals. Notifications are presented near the tachometer1706, wherein such notifications may indicate that the user should keepthe speed above a certain revolutions threshold 1732 (e.g., 10 RPM). Ifthe computing device 102 receives a speed from the electromechanicaldevice 104 and the speed is below the revolutions threshold 1732, thecomputing device 102 may control the electric motor to drive theradially-adjustable couplings to maintain the revolutions threshold1732. The computing device 102 may also be made capable of determiningthe state of the user in a particular exercise comprising the treatmentplan, such that if the state is to maintain the revolutions per minute,the notification will be issued, but further, such that if the state isindicative of starting to exercise, ending an exercise, or transitioningbetween different parts of an exercise, and crossing an otherwiseundesirable or forbidden threshold and/or range of revolutions perminute would, in these particular or otherwise similar indictive states,be neither undesirable nor forbidden, and the computing device 102would, in those instances, not issue a notification. As will readily beappreciated by a person of ordinary skill of the art in light of havingread the present disclosure, as used herein, actions described as beingperformed in real-time include actions performed in near-real-timewithout departing from the scope and intent of the present disclosure.

FIG. 17B depicts the example user interface 1700 presenting a graphic1720 for the tachometer 1706 when the speed is below the revolutionsthreshold 1732. As depicted, a notification is presented that states“Too slow—speed up.” Also, when the pressure exerted at the pedal isbelow the range of force threshold 1730, the user interface 1700presents an example graphical representation 1721 of the right foot. Anotification may be presented that states, “Push more with your rightfoot.” FIG. 17C depicts, when the speed is within the desired targetrevolutions per minute, the example user interface 1700 presenting agraphic 1722 for the tachometer 1706. Also, the user interface 1700presents, when the pressure exerted at the pedal is within the range offorce threshold 1730, an example graphical representation 1724 of theright foot. FIG. 17D depicts, when the speed is above the desired targetrevolutions per minute, the example user interface 1700 presenting agraphic 1726 for the tachometer 1706. As depicted, a notification ispresented that states “Too fast—slow down.” Also, the user interface1700 presents, when the pressure exerted at the pedal is above the rangeof force threshold 1730, an example graphical representation 1728 of theright foot. A notification may be presented that states “Push less withyour right foot.”

FIG. 18 illustrates an example user interface 1800 of the user portal118, the user interface 1800 presenting a request 1804 to modify pedalposition while the electromechanical device 104 is operating inactive-assisted mode 1802 according to certain embodiments of thisdisclosure. The request 1804 may graphically pop up on a regularinterval if specified in the treatment plan. If the user selects the“Adjust Pedals” button 1806, the user portal 118 may present a screenthat allows the user to modify the position of the pedals.

FIG. 19 illustrates an example user interface 1900 of the user portal118, the user interface 1900 presenting a scale 1902 for measuringdiscomfort of the user at an end of a pedaling session according tocertain embodiments of this disclosure. The pain level may be obtainedfrom the user in response to a solicitation, such as a question,presented upon the user interface 1900. The scale 1902 may providechoices, such as a pain level, ranging from no discomfort (e.g., smileyface), to mild discomfort (e.g., moderate face), to high discomfort(e.g., sad face); alternatively a non-illustrated version of the scalecould be alphabetic (A-to-F), numeric (1-to-10), or in any other formenabling an indication of comfort to be made. As used herein,“discomfort” is simply an approximate opposite of “comfort,” and hence“no discomfort” corresponds approximately to “high comfort,” “milddiscomfort” corresponds approximately to “mostly comfortable,” and “highdiscomfort” corresponds approximately to “very little comfort” or, insome cases, to “no comfort” or “an absence of comfort.” This discomfortinformation may be stored locally on the computing device 102, sent tothe computing device 114 executing the clinical portal 126, and/or sentto the cloud-based computing system 116. For example, the user interface1900 may be configured to receive a user input 1904, such as a painscore, from the user. The user input 1904 (e.g., a second user input)may be provided at or near the end of the rehabilitation session, or atany other desired time.

The user interface 1900 may also include treatment graphs. The treatmentgraphs can include information including an extension (angle), a flexion(angle), the pain score (scale), an ambulation (steps/day), a number ofrevolutions (i.e., revolutions performed on the of the electromechanicaldevice 104), and any other desired information.

In some embodiments, the user interface 1900 presents an adjustmentconfirmation control configured to solicit a response regarding theuser's comfort level with the position of the body part or the forceexerted by the body part. The comfort level may be indicated by a binaryselection (e.g., comfortable or not comfortable). In some embodiments,the comfort level may be an analog value that may be indicatednumerically or with an analog input control, such as a slider or arotary knob. In some embodiments, the comfort level may be indicated byone of several different comfort level values, such as an integer numberfrom 1 to 5. In some embodiments, the comfort level may be indicatedusing controls for the user to maintain a setting or for the user tochange the setting. More specifically, the control for the user tochange the setting may provide for the user to change the setting ineither of two or more directions. For example, the controls may allowthe user to maintain the value of a setting, to increase the value ofthe setting, or to decrease the value of the setting.

In some embodiments, one or more of the controls may be provided by oneor more of the sensors. For example, the user interface 1900 may promptthe user to move a body part until the user starts to feel discomfort.One or more of the sensors may measure the range of motion that the bodypart moved. The range of motion may be used for performing therehabilitation regimen. For example, one or more of the sensors, such asa pressure sensor and/or a goniometer 106, may measure a physicalresponse by the user, such as a flinch that indicates pain. A targetvalue of a parameter may be set based upon the value of the parameterwhere the user indicated pain or discomfort. The target value of theparameter may then be used for performing the rehabilitation regimen ofthe treatment plan. A target parameter value may be the target value ofthe parameter. The target parameter value may be set based upon a valueof the parameter where the user indicated pain or discomfort. The targetparameter value may be set to X% of P, where X is a predeterminedpercentage, and P is the value of the parameter where the user indicatedpain or discomfort. For example, if a user indicated pain at a pedalradius of 6.0 cm, and X is 90%, the target parameter value for the pedalposition may be set to 5.4 cm, or 90% of 6.0 cm. Alternatively, thetarget parameter value may be set using an offset value that is added orsubtracted from the value of the parameter where the user indicated painor discomfort. For example, if a user indicated pain at pedal radius of8.0 cm, and the offset value is −1.2 cm, then the target parameter valuefor the pedal radius may be set to 6.8 cm. Values of other parameters,such as target pressure or target speed, may be similarly adjusted.

In some embodiments, user interface 1900 of the user portal 118 canpresent an adjustment confirmation control configured to solicit aresponse regarding the patient's comfort level with the position of thebody part or the force exerted by the body part. The comfort level maybe indicated by a binary selection (e.g., comfortable or notcomfortable). In some embodiments, the comfort level may be an analogvalue that may be indicated numerically or with an analog input control,such as a slider or a rotary knob. In some embodiments, the comfortlevel may be indicated by one of several different comfort level values,such as an integer number from 1 to 5. In some embodiments, the comfortlevel may be indicated using controls for the patient to maintain asetting or for the patient to change the setting. More specifically, thecontrol for the patient to change the setting may provide for thepatient to change the setting in either of two or more directions. Forexample, the controls may allow the patient to maintain the value of asetting, to increase the value of the setting, or to decrease the valueof the setting.

FIG. 20 illustrates, according to certain embodiments of thisdisclosure, an example user interface 2000 of the user portal 118. Theuser interface 2000 enables the user to capture an image of the bodypart under rehabilitation. For example, via an image capture device 616,an image capture zone 2002 is presented on the user interface 2000. Thedotted lines 2004 may populate to show a rough outline of the leg, forexample, with a circle to indicate where the user's kneecap (patella)should be in the image. This enables the patient or user to line up hisor her leg/knee, or any other desired body part, for the image. The usermay select a camera icon 2006 to capture the image. If the user issatisfied with the image, the user can select a save button 2008 tostore the image on the computing device 102 and/or in the cloud-basedcomputing system 116. Also, the image may be transmitted to thecomputing device 114 executing the clinical portal 126.

FIGS. 21A-D illustrate an example user interface 2100 of the user portal118. The user interface 2100 presents angles 2102 of an extension 2222or a bend 2122 of a lower leg relative to an upper leg according tocertain embodiments of this disclosure. As depicted in FIG. 21A, theuser interface 2100 presents a graphical animation 2104 of the user'sleg extending in real-time. The knee angle in the graphical animation2104 may match the angle 2102 presented on the user interface 2100, forexample, an angle of bend 2118 or an angle of extension 222. Thecomputing device 102 may receive the angles of extension 2218 from theelectronic device 106, and such device may be a goniometer or any otherdesired device that is worn by the user 2108 during an extension sessionand/or a pedaling session. To that end, although the graphical animation2104 depicts the user 2108 extending his or her leg during an extensionsession, it should be understood that the user portal 118 may beconfigured to display the angles 2102 in real-time as the user 2108operates the pedals 110 of the electromechanical device 104 inreal-time.

FIG. 21B illustrates the user interface 2100 with the graphicalanimation 2104 as the lower leg is extended farther away from the upperleg, and the angle 2102 changed from 84 to 60 degrees of extension. FIG.21C illustrates the user interface 2100 with the graphical animation2104 as the lower leg is extended even farther away from the upper leg.The computing device 102 may record the lowest angle to which the user2108 is able to extend his or her leg as measured by the electronicdevice 106, such as the goniometer. The angle 2102 may be sent to thecomputing device 114 and that lowest angle may be presented on theclinical portal 126 as an extension statistic for that extensionsession. Further, a bar 2110 may be presented and the bar 2110 may fillfrom left to right over a set amount of time. A notification mayindicate that the patient or user 2108 should push down on his or herknee over a set amount of time or until a set amount of time, minimum ormaximum, has elapsed. The user interface 2100 in FIG. 21D is similar toFIG. 21C but it presents the angle of bend 2118, measured by theelectronic device 106, such as the goniometer, as the user 2108 retractshis or her lower leg closer to his or her upper leg (e.g., during thebend 2122). As depicted, the graphical animation 2104 presented on theuser interface 2100 in real-time depicts the angle of the knee matchingthe angle 2102. The computing device 102 may record the highest anglethat the user 2108 is able to bend his or her leg as measured by theelectronic device, such as the goniometer 106. That angle 2102 may besent to the computing device 114 and that highest angle may be presentedon the clinical portal 126 as a bend statistic for that bend session.

FIG. 22 illustrates an example user interface 2200 of the user portal118. The user interface 2200 presents a progress report 2202 for a userextending the lower leg away from the upper leg according to certainembodiments of this disclosure. The user interface 2200 presents a graph2204 wherein the degrees of extension are on a y-axis and the days aftersurgery are on an x-axis. The angles depicted in the graph 2204 are thesmallest angles achieved each day. The user interface 2200 also depictsthe smallest angle the user has achieved for extension and indicates anpercentage of improvement (83%) in extension since beginning thetreatment plan. The user interface 2200 also indicates how many degreesare left before reaching a target extension angle. The user interface2000 may also display a summary box 2206. The summary box 2206 mayinclude information, such as the amount of strength improvement in thelegs, the amount of strength improvement needed to satisfy a targetstrength goal, or any other desired information. The summary box 2206may include information, such as a score based on the target values,performance of the user 2108, or any other desired information. Forexample, the target value may be one or more of a target heartrate, atarget force that the user 2108 is to exert on the one or more pedals110, a target range of motion of the first and/or second body parts2112, 2114, a target position of the one or more pedals 110 on theradially-adjustable couplings 124, a target angle of flex at the joint2116, a target number of bends 2122 or extensions 2222, a target numberof steps, a target temperature, or any other desired target value.

FIG. 23 illustrates an example user interface 2300 of the user portal118. The user interface 2300 presents a progress screen 2302 for a userbending the lower leg toward the upper leg according to certainembodiments of this disclosure. The user interface 2300 presents a graph2304 with the degrees of bend on a y-axis and the days after surgery onthe x-axis. The angles depicted in the graph 2304 are the highest anglesof bend achieved each day. The user interface 2200 also depicts thesmallest angle the user has achieved for bending and indicates apercentage of improvement (95%) in extension since beginning thetreatment plan. The user interface 2200 also indicates how many degreesare left before reaching a target bend angle.

FIG. 24 illustrates an example user interface 2400 of the user portal118. The user interface 2400 presents a progress screen 2402 for adiscomfort level of the user according to certain embodiments of thisdisclosure. The user interface 2400 presents a graph 2404 with thediscomfort level on a y-axis and the days after surgery on the x-axis.The user interface 2400 also depicts the lowest discomfort level theuser has reported and a notification indicating a measurement of thereduction in discomfort that the user has experienced throughout thetreatment plan.

FIG. 25 illustrates, according to certain embodiments of thisdisclosure, an example user interface 2500 of the user portal 118. Theuser interface presents a progress screen 2502 for a strength of a bodypart. The user interface 2500 presents a graph 2504 with the pounds offorce exerted by the patient for both the left leg and the right leg ona y-axis and the days after surgery on the x-axis. The graph 2504 mayshow an average for left and right leg for a current session. For thenumber of sessions a user does each day, the average pounds of force forthose sessions may be displayed for prior days as well. The userinterface 2500 also depicts graphical representations 2506 of the leftand right feet and a maximum amount of force the user has exerted forthe left and right leg. The maximum amount (e.g., in pounds) of forcedepicted may be computed when the electromechanical device is operatingin the active mode. The user may select to see statistics for prior daysand the average level of active sessions for the current day may bepresented as well. The user interface 2500 indicates the amount ofstrength improvement in the legs and the amount of strength improvementneeded to satisfy a target strength goal, for example, in the summarybox 2508.

FIG. 26 illustrates, according to certain embodiments of thisdisclosure, an example user interface 2600 of the user portal 118. Theuser interface presents a progress screen 2602 for a number of steps ofthe user. The user interface 2600 presents a graph 2604 with the numberof steps taken by the user on a y-axis and the days after surgery on thex-axis. The user interface 2500 also depicts the highest number of stepsthe user has taken among all of the days in the treatment plan, theamount the user has improved in steps per day since starting thetreatment plan, and the number of additional steps needed to meet atarget step goal. The user may select to view prior days to see thetotal number of steps they have taken per day.

FIG. 27 illustrates, according to certain embodiments of thisdisclosure, an example user interface 2700 of the user portal 118. Theuser interface 2700 presents that the electromechanical device 104 isoperating in a manual mode 2702. During the manual mode 2702, the usermay set the speed, resistance, time to exercise, position of pedals,etc. In such a configuration, the control system for theelectromechanical device 104 may not provide any assistance to operationof the electromechanical device 104. When the user selects any of themodes in the box 2704, a pedaling session may begin. Further, when theuser selects button 2706, the user portal 118 may return to the userinterface 1300 depicted in FIG. 13.

FIG. 28 illustrates, according to certain embodiments of thisdisclosure, an example user interface 2800 of the user portal 118. Theuser interface 2800 presents an option 2802 to modify a speed of theelectromechanical device 104 operating in the passive mode 2804. Theuser may slide button 2806 to adjust the speed as desired during thepassive mode 2804 where the electric motor is providing the drivingforce of the radially-adjustable couplings.

FIG. 29 illustrates, according to certain embodiments of thisdisclosure, an example user interface 2900 of the user portal 118. Theuser interface 2900 presents an option 2902 to modify a minimum speed ofthe electromechanical device 104 operating in the active-assisted mode2904. The user may slide button 2906 to adjust the minimum speed thatthe user should maintain before the electric motor begins providingdriving force.

FIG. 30 illustrates, according to certain embodiments of thisdisclosure, an example user interface 3000 of the clinical portal 126,wherein the user interface 3000 presents various options available tothe clinician/physician. The clinical portal 126 may retrieve a list ofpatients for a particular physician who logs into the clinical portal126. The list of patients may be stored on the computing device 114 orretrieved from the cloud-based computing system 116. A first option 3002may enable the clinician to generate treatment plans for one or more ofthe patients, as described above. A second option 3004 may enable theclinician to view the number of sessions that each of the patients havecompleted in 24 hours. This may enable the clinician to determinewhether the patients are keeping up with the treatment plan and whetherto send notifications to those patients not completing the sessions. Athird option 3006 may enable the clinician to view the patients who havepoor extension (e.g., angle of extension above a target extension for aparticular stage in the treatment plan). A fourth option 3008 may enablethe clinician to view the patients who have poor flexion (e.g., angle ofbend below a target bend for a particular stage in the treatment plan).A fifth option 3010 may enable the clinician to view the patientsreporting high pain levels. Regarding any of the options, the cliniciancan contact the user and inquire as to the status of their lack ofparticipation, or degree of extension, flexion and pain level etc. Theclinical portal 126 provides the benefit of direct monitoring of thepatients progress by the clinician, which may enable faster and moreeffective recoveries.

Further, the clinical portal may include an option to control aspects ofoperating the electromechanical device 104. For example, while the useris engaged in a pedaling session or when the user is not engaged in thepedaling session, the clinician may use the clinical portal 126 toadjust a position of a pedal 110 based on angles of extension/bendreceived from the computing device 102 and/or the goniometer 106 inreal-time. In response to determining an amount of force exerted by theuser exceeds a target force threshold, such as the force threshold 1730,the clinical portal 126 may enable the clinician to adjust the amount ofresistance provided by the electric motor 122. The clinical portal 126may enable the clinician to adjust the speed of the electric motor 122,and so forth. The user interfaces can include additional and/or fewercomponents and are not limited to those illustrated in FIGS. 13-30.

FIG. 31 illustrates, in accordance with one or more aspects of thepresent disclosure, example computer system 3100, which can perform anyone or more of the methods described herein. In one example, computersystem 3100 may correspond to the computing device 102 (e.g., usercomputing device), the computing device 114 (e.g., clinician computingdevice), one or more servers of the cloud-based computing system 116,the training engine 130, the servers 128, the motor controller 120, thepedals 110, the goniometer 106, and/or the wristband 108 of FIG. 1. Thecomputer system 3100 may be capable of executing the user portal 118and/or the clinical portal 126 of FIG. 1. The computer system 3100 maybe connected (e.g., networked) to other computer systems in a LAN, anintranet, an extranet, or the Internet. The computer system 3100 mayoperate in the capacity of a server in a client-server networkenvironment. The computer system 3100 may comprise a personal computer(PC), a tablet computer, a motor controller, a goniometer, a wearabledevice (e.g., wristband 108), a set-top box (STB), a personal DigitalAssistant (PDA), a mobile phone, a camera, a video camera, an Internetof Things (IoT) sensor or device, or any device capable of executing aset of instructions (sequential or otherwise) that specify actions to betaken by that device. Further, while only a single computer system isillustrated, the term “computer” shall also be taken to include anycollection of computers that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of the methodsdiscussed herein.

The computer system 3100 comprises a processing device 3102, a mainmemory 3104 (e.g., read-only memory (ROM), flash memory, dynamic randomaccess memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory3106 (e.g., flash memory, static random access memory (SRAM)), and adata storage device 3108, which communicate with each other via a bus3110.

Processing device 3102 represents one or more general-purpose processingdevices such as a microprocessor, central processing unit, or the like.More particularly, the processing device 3102 may comprise a complexinstruction set computing (CISC) microprocessor, reduced instruction setcomputing (RISC) microprocessor, very long instruction word (VLIW)microprocessor, or a processor implementing other instruction sets orprocessors implementing a combination of instruction sets. Theprocessing device 3102 may also comprise one or more special-purposeprocessing devices such as an application specific integrated circuit(ASIC), a field programmable gate array (FPGA), a digital signalprocessor (DSP), network processor, or the like. The processing device3102 is configured to execute instructions for performing any of theoperations and steps discussed herein.

The computer system 3100 may further comprise a network interface device(NID) 3112. The computer system 3100 also may comprise a video display3114 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)),one or more input devices 3116 (e.g., a keyboard and/or a mouse), andone or more speakers 3118 (e.g., a speaker). In one illustrativeexample, the video display 3114 and the input device(s) 3116 may becombined into a single component or device (e.g., an LCD touch screen).

The data storage device 3108 may comprise a computer-readable storagemedium 3120 on which the instructions 3122 (e.g., implementing controlsystem, user portal, clinical portal, and/or any functions performed byany device and/or component depicted in the FIGURES and describedherein) embodying any one or more of the methodologies or functionsdescribed herein are stored. The instructions 3122 may also reside,completely or at least partially, within the main memory 3104 and/orwithin the processing device 3102 during execution thereof by thecomputer system 3100. As such, the main memory 3104 and the processingdevice 3102 also constitute computer-readable media. The instructions3122 may further be transmitted or received over a network via thenetwork interface device 3112.

While the computer-readable storage medium 3120 is shown in theillustrative examples to be a single medium, the term “computer-readablestorage medium” should be taken to include a single medium or multiplemedia (e.g., a centralized or distributed database, and/or associatedcaches and servers) that store the one or more sets of instructions. Theterm “computer-readable storage medium” shall also be taken to includeany medium capable of storing, encoding or carrying a set ofinstructions for execution by the machine and which cause the machine toperform any one or more of the methodologies of the present disclosure.The term “computer-readable storage medium” shall accordingly be takento include, but not be limited to, solid-state memories, optical media,and magnetic media. The computer system 3100 can include additionaland/or fewer components and is not limited to those illustrated in FIG.31.

In one aspect, a system for rehabilitation includes one or moreelectronic devices 106 comprising one or more memory devices 938 storinginstructions 3122, one or more network interface cards 940, and one ormore sensors 942. The one or more electronic devices 106 may be coupledto a user 2108. The system for rehabilitation may further include one ormore processing devices 944 operatively coupled to the one or morememory devices 938, the one or more network interface cards 940, and theone or more sensors 942. The one or more processing devices 944 may beconfigured to execute the instructions 3122 to receive information fromthe one or more sensors 942. The one or more processing devices 944 mayfurther be configured to execute the instructions 3122 to transmit, viathe one or more network interface cards 940, the information to acomputing device 102 controlling an electromechanical device 104. Theinformation may be received while a user 2108 is engaging one or morepedals 110 of the electromechanical device 104. Engaging the pedals 110can include the user 2108 moving the pedals 2108 or causing the pedals2108 to not move. Engaging can mean engaging at the time the informationis received, about to engage proximately in time or distance, or havingjust engaged with an intention of engaging again. The one or moreprocessing devices 944 may further be configured to transmit, via theone or more network interface cards 940, the information to a secondcomputing device 114 to cause the second computing device 114 to presentthe information. Presenting the information may be in a user portal 118of a computing device 102 (e.g., to a user 2108), in a clinical portal126 of a computing device 114 (e.g., to a clinician), or in any otherdesired device. The information may comprise a plurality of angles 2102.The plurality of angles 2102 may comprise at least one of angles duringan extension 2222 and a bend 2122 of body parts of a user 2108. Forexample, the plurality of angles 2102 may comprise at least one ofangles of extension 2218 of a first body part 2112 of a user 2108extended away from a second body part 2114 at a joint 2116 and angles ofbend 2118 of the first body part 2112 retracting closer toward thesecond body part 2114. The first body part 2112 may be a lower leg, aforearm, or any other desired body part. The second body part 2114 maybe an upper leg, an upper arm, or any other desired body part. The joint2116 may be a knee, an elbow, or any other desired body part. Forexample, the one or more electronic devices 106 may be configured forcoupling 124 to the lower leg and the upper leg and for flexing adjacentto the knee.

The processing device may determine whether a range of motion thresholdcondition is satisfied based on the plurality of angles, such as the setof angles of extension 2218 and the set of angles of bend 2118.Responsive to determining that the range of motion threshold conditionis satisfied, the processing device may change a diameter (or radius, orother measurement) of a range of motion of the one of the pedals 110 bymodifying a position of one of the pedals 110 on one of theradially-adjustable couplings 124. Satisfying the range of motionthreshold condition may indicate that the affected body part is strongenough or flexible enough to increase the range of motion allowed by theradially-adjustable couplings 124. For example, if the range of motionthreshold is satisfied, the computing device 102 may adjust a firstposition of a first pedal 110 on a first radially-adjustable coupling124 of the electromechanical device 104. The first position may beadjusted to change a first diameter of a first range of motion of thefirst pedal 110. The computing device 102 may also maintain a seconddiameter of a second range of motion of a second pedal 110 on a secondradially-adjustable coupling 124 of the electromechanical device 104(e.g., a pedal for an opposing leg or arm to the first leg or armengaging the first pedal). The computing device 102 can maintain thesecond range of motion of the second pedal 110 at approximately aconstant second diameter. The computing device 102 may adjust a firstposition of a first pedal 110 on a first radially-adjustable coupling124 of the electromechanical device 104, wherein the adjusting of thefirst position changes a first diameter of a first range of motion ofthe first pedal 110. The computing device 102 may adjust a secondposition of a second pedal 110 on a second radially-adjustable coupling124 of the electromechanical device 104, wherein the adjusting of thesecond position changes a second diameter of a second range of motion ofthe second pedal 110.

The one or more processing devices 944 may execute the instructions 3122to determine a number of extensions and/or a number of bends. The numberof extension may be the number of times the first body part 2112 isextended away from the second body part 2114. The number of bends mayinclude the number of times the first body part 2112 is retracted closertoward the second body part 2114. The one or more processing devices 944may execute the instructions 3122 to transmit, via the one or morenetwork interface cards 940, the number of extensions to a secondcomputing device 114, wherein the transmitting the number of extensionsto the second computing device 114 causes the second computing device114 to present the number of extensions. The one or more processingdevices 944 may execute the instructions 3122 to transmit, via the oneor more network interface cards 940, the number of bends to a secondcomputing device 114, wherein the transmitting the number of bends tothe second computing device 114 causes the second computing device 114to present the number of bends. The number of extensions and/or thenumber of bends may change during the rehabilitation session, forexample, in real-time. The number of extensions and/or the number ofbends may be presented at the end of the rehabilitation session or anyother desired time. The number of extensions and/or the number of bendscan be displayed, for example, on a user interface 2000, for the user2108 to monitor the progress of the plurality of extension sessionsand/or the plurality of bend sessions throughout the treatment plan. Aspart of the treatment plan, the user 2108 may have a prescribed numberof extensions and/or bends to achieve, for example, per exercise sessionor per day. Being able to view the number of extensions and/or bends inreal-time, the user can determine how many more extensions/bends areneeded to reach the desired number of extensions and/or bends. Thenumber of extensions and/or the number of bends can be presented on auser interface of the clinical portal 126 for the clinician to monitorthe number of extensions and/or the number of bends to access theprogress of the user 2108. The clinician can adjust the prescribednumber of extensions and/or bends in the treatment plan.

The transmitting the plurality of angles 2102 to the computing device102 may cause the computing device 102 to present the plurality ofangles 2102 in a graphical animation 2104 of the first body part 2112and the second body part 2114 moving in real-time during the extension2222 or the bend 2122. For example, the one or more sensors 942 may beworn by the user 2108 and the one or more processing devices 944 may beconfigured to present, on a user interface 2000 of a control system, agraphical animation 2104 of the first body part 2112, the second bodypart 2114, and the joint 2116 of a user 2108 as the first body part 2112is extended away from the second body part 2114 via the joint 2116. Thegraphical animation 2104 can include a plurality of angles of extension2218 as the plurality of angles of extension 2218 changes during theextension 2222. The one or more processing devices 944 may be configuredto store as an extension statistic for an extension session a lowestvalue, such as a smallest angle, of the plurality of angles of extension2218. The plurality of extension statistics may be stored for aplurality of extension sessions specified by a treatment plan 1302. Theone or more processing devices 944 may be configured to present, via agraphical element on the user interface 2000, a progress of theplurality of extension sessions throughout the treatment plan 1302.

The one or more processing devices 944 may be configured to present, ona user interface 2000 of a control system, a graphical animation 2104 ofa first body part 2112, a second body part 2114, and a joint 2116 of auser 2108 as the first body part 2112 is retracted closer to the secondbody part 2114 via the joint 2116. The graphical animation 2104 mayinclude a plurality of angles of bend 2118 as the plurality of angles ofbend 2118 changes during the bend 2122. The one or more processingdevices 944 may be configured to store a highest value, such as alargest angle, of the plurality of angles of bend 2118 as a bendstatistic for a bend session, wherein a plurality of bend statistics maybe stored for a plurality of bend sessions specified by a treatment plan1302. The one or more processing devices 944 may be configured topresent, via a graphical element on the user interface 2000, a progressof the plurality of bend sessions throughout the treatment plan 1302.For example, the processing device 944 may present progress of the setof bend sessions throughout the treatment plan 1302 via a graphicalelement (e.g., line graph, bar chart, etc.) on the user interface 2000presenting the set of bend statistics.

The one or more processing devices 944 may be configured to control animage capture device 616 to capture an image 2010 of a body part of auser 2108 being rehabilitated (e.g., take a photograph of a site 2012,such as a joint 2116, and store the photograph in the memory device938). For example, the image capture device 616 may capture a site 2012of the user's knee and part of the user's lower and upper legs. The oneor more processing devices 944 may further be configured to transmit, toa computing device 114 operated by a clinician, the image 2010 of thebody part, wherein the computing device 114 may be communicativelycoupled to the control system.

The one or more processing devices 944 may further be configured toreceive, from a wearable device, a number of steps taken by a user 2108over a certain time period. The wearable device may be the wristband108, the electronic device 106, or any other desired device. The one ormore processing devices 944 may be configured to calculate whether thenumber of steps satisfies a step threshold of a treatment plan 1302 forthe user 2108. The one or more processing devices 944 may be configuredto display, on a user interface 2000, the number of steps taken by theuser 2108 and an indication of whether the number of steps satisfies thestep threshold. The indication may include whether the number of stepsis greater than, equal to, or less than the number of steps equal to thestep threshold. The indication may also include information as to howmany steps were taken over the step threshold, how many steps wererequired to meet the steps threshold, or any other desired information.The one or more processing devices 944 may be configured to display, onthe clinical portal 126, the number of steps taken by the user 2108 andan indication of whether the number of steps satisfies the stepthreshold.

The one or more processing devices 944 may execute the instructions 3122to prompt the user 2108 to enter or change a target value into thecomputing device 102 and cause the computing device 102 to present thetarget value. The one or more processing devices 944 may execute theinstructions 3122 to prompt a second user, such as a clinician, to enterthe target value into a second computing device 114 and cause thecomputing device 102 to present the target value. The target value mayalso be presented on the second computing device 114. The target valuemay include at least one of a first target value, a second target value,a first pain score, a second pain score, a pedal speed, and a mode(e.g., a pedaling mode, such as the passive mode 1304, theactive-assisted mode 1306, the resistive mode 1308, and/or the activemode 1310). The target values may be the same as or different valuesfrom the threshold condition values (e.g., the force threshold 1730, therevolutions threshold 1732, the steps threshold, the vitals threshold,etc.), or any other desired value. For example, the first target valueand/or the second target value may be one or more of a target heartrate,a target force that the user 2108 is to exert on the one or more pedals110, a target range of motion of the first and/or second body parts2112, 2114, a target position of the one or more pedals 110 on theradially-adjustable couplings 124, a target angle of flexion at thejoint 2116, a target number of bends 2122 or extensions 2222, a targetnumber of steps, or any other desired target value.

The first pain score may be received by the user input 1504. The firstpain score may be a first level of pain that a user 2108 is experiencingat a first time, such as at or before the beginning of the user'srehabilitation session, or any other desired time, and wherein, forexample, the pain occurs at the first body part 2112, the second bodypart 2114, and/or the joint 2116. The second pain score may be receivedby the user input 1904. The second pain score may be a second level ofpain that the user 2108 is experiencing at a second time, such as duringthe rehabilitation session, after the rehabilitation session, or at anyother desired time. The one or more processing devices 944 may furtherbe configured to assign a score based on the target value and aperformance of the user. For example, the score can be assigned based onuser 2108 input, a performance of the user 2108 (for example,information included in the options 3004, 3006, 3008, 3010), or anyother desired information.

In another aspect, a system for rehabilitation may include one or moreelectronic devices 106 comprising one or more memory devices 938 storinginstructions 3122, one or more network interface cards 940, and one ormore sensors 942. The one or more electronic devices 106 may be coupledto a user 2108. The system for rehabilitation may further include anelectromechanical device 104 comprising an electrical motor 122 and oneor more pedals 110. The system for rehabilitation may further includeone or more processing devices 944 operatively coupled to the one ormore memory devices 938, the one or more network interface cards 940,and the one or more sensors 942. The one or more processing devices 944may be configured based on the configuration information for thepedaling session to execute the instructions 3122 to receiveconfiguration information for a pedaling session and to set a resistanceparameter and a maximum pedal force parameter (e.g., the force threshold1730). A selection of the configuration information may be received fromthe user interface 2000 presented to the user 2108. The configurationinformation may be received from a server computing device (e.g., theserver 128) that received the configuration information from a clinicalportal 126 presented on a computing device 114. The configurationinformation may comprise configuration information specified for a stageof a plurality of stages in a treatment plan 1302 for rehabilitating abody part of the user 2108. The one or more processing devices 944 mayfurther be configured to execute the instructions 3122 to measure forceapplied to the one or more pedals 110 of the electromechanical device104 as a user 2108 pedals or otherwise engages the electromechanicaldevice 104. Based on the resistance parameter, the electrical motor 122may provide resistance during the pedaling session. The one or moreprocessing devices 944 may further be configured to execute theinstructions 3122 to determine whether the measured force exceeds avalue of a maximum pedal force parameter and, responsive to determiningthat the measured force exceeds the value of the maximum pedal forceparameter, to reduce the resistance parameter so the electrical motor122 applies less resistance during the pedaling session to maintain arevolutions per time period threshold (e.g., the revolutions threshold1732). Responsive to determining that the measured force does not exceedthe value of the maximum pedal force parameter, the one or moreprocessing devices 944 may execute the instructions 3122 to maintain thesame maximum pedal force parameter during the pedaling session.

In yet another aspect, a system for rehabilitation may further includeone or more electronic devices 106 comprising one or more memory devices938 storing instructions 3122, one or more network interface cards 940,and one or more sensors 942. The one or more electronic devices 106 maybe flexible and worn by a user. The system for rehabilitation mayfurther include one or more processing devices 944 operatively coupledto the one or more memory devices 938, the one or more network interfacecards 940, and the one or more sensors 942. The one or more processingdevices 944 may further be configured to execute the instructions 3122to receive, from the one or more electronic devices 106, a plurality ofangles of extension 2218 between an upper leg and a lower leg at a kneeof the user. The plurality of angles 2102 may be measured as the user2108 extends the lower leg away from the upper leg via the knee.

The one or more electronic devices 106 may be one or more goniometers orany other device configured to detect, acquire, or measure parameters ofthe user, for example, via the one or more sensors 942. The parametersmay include the user's movement, temperature, number of steps, angles ofextension or bend of body parts, or any other desired parameter. Forexample, one electronic device may be worn by a user on the upper legand another electronic device on the lower leg. The one electronicdevice may be bendably connected to the second electronic device, forexample. Each electronic device may include one or more sensors 942. Theone or more sensors 942 may be configured to measure joint flexion. Forexample, the sensors may include accelerometers, flex sensors, magnets,or any other type of sensors. The one or more electronic devices 106 mayinclude portions, such as arms, that are bendable or flexible. Forexample, the arms may have portions that can bend and move with the oneor more body parts about the respective joint.

The one or more processing devices 944 may be configured to execute theinstructions 3122 to present, on a user interface 2000, a graphicalanimation 2104 of the upper leg, the lower leg, and the knee of the user2108 as the lower leg is extended away from the upper leg via the knee.The graphical animation 2104 may include the plurality of angles ofextension 2218 as the plurality of angles of extension 2218 changesduring the extension 2222. The one or more processing devices 944 mayfurther be configured to execute the instructions 3122 to store asmallest angle of the plurality of angles of extension 2218 as anextension statistic for an extension session, wherein a plurality ofextension statistics may be stored for a plurality of extension sessionsspecified by the treatment plan 1302. The one or more processing devices944 may further be configured to execute the instructions 3122 topresent throughout the treatment plan 1302 via a graphical element onthe user interface 2000 presenting the plurality of extension statisticsprogress of the plurality of extension sessions. The graphical elementmay be a graph 2204, a bar chart 2110, text, numbers, or any otherdesired graphics. The one or more processing devices 944 may further beconfigured to execute the instructions 3122 to determine, based on theplurality of angles of extension 2218, whether a range of motionthreshold condition is satisfied. Responsive to determining that therange of motion threshold condition is satisfied, the one or moreprocessing devices 944 may transmit, via the one or more networkinterface cards 940, a threshold condition update to a second computingdevice 114 to cause the second computing device 114 to present thethreshold condition update. The threshold condition update may bepresented in the clinical portal 126, the user portal 118, or in anyother desired computing device.

Clause 1. A system for rehabilitation, comprising:

one or more electronic devices comprising one or more memory devicesstoring instructions, one or more network interface cards, and one ormore sensors, wherein the one or more electronic devices are coupled toa user; and

one or more processing devices operatively coupled to the one or morememory devices, the one or more network interface cards, and the one ormore sensors, wherein the one or more processing devices execute theinstructions to:

-   -   receive information from the one or more sensors; and    -   transmit, via the one or more network interface cards, the        information to a computing device controlling an        electromechanical device.

Clause 2. The system of any preceding clause, wherein the information isreceived while a user is engaging one or more pedals of theelectromechanical device.

Clause 3. The system of any preceding clause, wherein the one or moreprocessing devices are further configured to transmit, via the one ormore network interface cards, the information to a second computingdevice to cause the second computing device to present the information.

Clause 4. The system of any preceding clause, wherein the informationcomprises a plurality of angles, wherein the plurality of anglescomprises at least one of angles of extension of a first body part of auser extended away from a second body part at a joint and angles of bendof the first body part retracting closer toward the second body part.

Clause 5. The system of any preceding clause, wherein the transmittingthe plurality of angles to the computing device causes the computingdevice to:

adjust a first position of a first pedal on a first radially-adjustablecoupling of the electromechanical device, wherein the adjusting of thefirst position changes a first diameter of a first range of motion ofthe first pedal; and

maintain a second diameter of a second range of motion of a second pedalon a second radially-adjustable coupling of the electromechanicaldevice.

Clause 6. The system of any preceding clause, wherein at least one ofthe angles of extension and the angles of bend satisfies a range ofmotion threshold condition to cause the adjustment of the firstposition.

Clause 7. The system of any preceding clause, wherein the transmittingthe plurality of angles to the computing device causes the computingdevice to:

adjust a first position of a first pedal on a first radially-adjustablecoupling of the electromechanical device, wherein the adjusting of thefirst position changes a first diameter of a first range of motion ofthe first pedal; and

adjust a second position of a second pedal on a secondradially-adjustable coupling of the electromechanical device, whereinthe adjusting of the second position changes a second diameter of asecond range of motion of the second pedal.

Clause 8. The system of any preceding clause, wherein at least one ofthe angles of extension and the angles of bend satisfies a range ofmotion threshold condition to cause the adjustments of the first andsecond positions.

Clause 9. The system of any preceding clause, wherein the first bodypart is a lower leg, the second body part is an upper leg, and the jointis a knee; and wherein the one or more electronic devices are configuredfor coupling to the lower leg and the upper leg, and for flexingadjacent to the knee.

Clause 10. The system of any preceding clause, wherein the transmittingthe plurality of angles to the computing device causes the computingdevice to present the plurality of angles in a graphical animation ofthe first body part and the second body part, each moving in real-timeduring the extension or the bend.

Clause 11. The system of any preceding clause, wherein the one or moreprocessing devices executes the instructions to:

select a number of extensions or a number of bends; and

transmit, via the one or more network interface cards, the number ofextensions or the number of bends to a second computing device, whereinthe transmitting the number of extensions or the number of bends to thesecond computing device causes the second computing device to presentthe respective number of extensions or the number of bends.

Clause 12. The system of any preceding clause, wherein the one or moresensors are worn by the user, and wherein the one or more processingdevices are further configured to:

present, on a user interface of a control system, a graphical animationof a first body part, a second body part, and a joint of a user as thefirst body part is extended away from the second body part via thejoint, wherein the graphical animation includes a plurality of angles ofextension as the plurality of angles of extension changes during theextension;

store a smallest angle of the plurality of angles of extension as anextension statistic for an extension session, wherein a plurality ofextension statistics is stored for a plurality of extension sessionsspecified by a treatment plan; and

present, throughout the treatment plan, via a graphical element on theuser interface, a progress of the plurality of extension sessions.

Clause 13. The system of any preceding clause, wherein the one or moresensors are worn by the user, and wherein the one or more processingdevices are further configured to:

present, on a user interface of a control system, a graphical animationof a first body part, a second body part, and a joint of a user as thefirst body part is retracted closer to the second body part via thejoint, wherein the graphical animation includes a plurality of angles ofbend as the plurality of angles of bend changes during the bend;

store a largest angle of the plurality of angles of bend as a bendstatistic for a bend session, wherein a plurality of bend statistics isstored for a plurality of bend sessions specified by a treatment plan;and

present, throughout the treatment plan, via a graphical element on theuser interface, a progress of the plurality of bend sessions.

Clause 14. The system of any preceding clause, wherein the one or moreprocessing devices are further configured to:

control an image capture device to capture an image of a body part of auser being rehabilitated; and

transmit, to a computing device operated by a clinician, the image ofthe body part, wherein the computing device is communicatively coupledto the control system.

Clause 15. The system of any preceding clause, wherein the one or moreprocessing devices are further configured to:

receive, from a wearable device, a number of steps taken by a user overa certain time period;

calculate whether the number of steps satisfies a step threshold of atreatment plan for the user; and

display, on a user interface, the number of steps taken by the user andan indication of whether the number of steps satisfies the stepthreshold.

Clause 16. The system of any preceding clause, wherein the one or moreprocessing devices executes the instructions to:

prompt a second user to enter a target value into a second computingdevice; and

cause the computing device to present the target value.

Clause 17. The system of any preceding clause, wherein the target valueincludes at least one of a first target value, a second target value, afirst pain score, a second pain score, a pedal speed, and a mode.

Clause 18. The system of any preceding clause, wherein the one or moreprocessing devices are further configured to assign a score based on thetarget value and a performance of the user.

Clause 19. A system for rehabilitation, comprising:

one or more electronic devices comprising one or more memory devicesstoring instructions, one or more network interface cards, and one ormore sensors, wherein the one or more electronic devices are coupled toa user;

an electromechanical device comprising an electric motor and one or morepedals; and

one or more processing devices operatively coupled to the one or morememory devices, the one or more network interface cards, and the one ormore sensors, wherein the one or more processing devices execute theinstructions to:

-   -   receive configuration information for a pedaling session;    -   based on the configuration information for the pedaling session,        set a resistance parameter and a maximum pedal force parameter;    -   measure force applied to the one or more pedals of the        electromechanical device as a user pedals the electromechanical        device, wherein, based on the resistance parameter, the electric        motor provides resistance during the pedaling session;    -   determine whether the measured force exceeds a value of the        maximum pedal force parameter; and    -   responsive to determining that the measured force exceeds the        value of the maximum pedal force parameter, reduce the        resistance parameter so the electric motor applies less        resistance during the pedaling session to maintain a revolutions        per time period threshold.

Clause 20. The system of any preceding clause, wherein the one or moreprocessing devices execute the instructions to:

responsive to determining that the measured force does not exceed thevalue of the maximum pedal force parameter, maintain, during thepedaling session, the same maximum pedal force parameter.

Clause 21. The system of any preceding clause, wherein the configurationinformation is received from a server computing device that received theconfiguration information from a clinical portal presented on acomputing device.

Clause 22. The system of any preceding clause, wherein the configurationinformation comprises configuration information specified for a stage ofa plurality of stages in a treatment plan for rehabilitating a body partof the user.

Clause 23. The system of any preceding clause, further comprisingreceiving a selection of the configuration information from the userinterface presented to the user.

Clause 24. A system for rehabilitation, comprising:

one or more electronic devices comprising one or more memory devicesstoring instructions, one or more network interface cards, and one ormore sensors, wherein the one or more electronic devices are flexibleand worn by a user; and

one or more processing devices operatively coupled to the one or morememory devices, the one or more network interface cards, and the one ormore sensors, wherein the one or more processing devices execute theinstructions to:

-   -   receive, from the one or more electronic devices, a plurality of        angles of extension between an upper leg and a lower leg at a        knee of the user, wherein the plurality of angles is measured as        the user extends the lower leg away from the upper leg via the        knee;    -   present, on a user interface, a graphical animation of the upper        leg, the lower leg, and the knee of the user as the lower leg is        extended away from the upper leg via the knee, wherein the        graphical animation includes the plurality of angles of        extension as the plurality of angles of extension changes during        the extension;    -   store a smallest angle of the plurality of angles of extension        as an extension statistic for an extension session, wherein a        plurality of extension statistics is stored for a plurality of        extension sessions specified by the treatment plan;    -   present progress of the plurality of extension sessions        throughout the treatment plan via a graphical element presenting        the plurality of extension statistics on the user interface;    -   based on the plurality of angles of extension, determine whether        a range of motion threshold condition is satisfied; and    -   responsive to determining that the range of motion threshold        condition is satisfied, transmit, via the one or more network        interface cards, a threshold condition update to a second        computing device to cause the second computing device to present        the threshold condition update.

No part of the description in this application should be read asimplying that any particular element, step, or function is an essentialelement that must be included in the claim scope. The scope of patentedsubject matter is defined only by the claims. Moreover, none of theclaims is intended to invoke 35 U.S.C. § 112(f) unless the exact words“means for” are followed by a participle.

The foregoing description, for purposes of explanation, use specificnomenclature to provide a thorough understanding of the describedembodiments. However, it should be apparent to one skilled in the artthat the specific details are not required in order to practice thedescribed embodiments. Thus, the foregoing descriptions of specificembodiments are presented for purposes of illustration and description.They are not intended to be exhaustive or to limit the describedembodiments to the precise forms disclosed. It should be apparent to oneof ordinary skill in the art that many modifications and variations arepossible in view of the above teachings.

The above discussion is meant to be illustrative of the principles andvarious embodiments of the present invention. Once the above disclosureis fully appreciated, numerous variations and modifications will becomeapparent to those skilled in the art. It is intended that the followingclaims be interpreted to embrace all such variations and modifications.

1-18. (canceled)
 19. A system for rehabilitation, comprising: one ormore electronic devices comprising one or more memory devices storinginstructions, one or more network interface cards, and one or moresensors, wherein the one or more electronic devices are coupled to auser; an electromechanical device comprising an electric motor and oneor more pedals; and one or more processing devices operatively coupledto the one or more memory devices, the one or more network interfacecards, and the one or more sensors, wherein the one or more processingdevices execute the instructions to: receive configuration informationfor a pedaling session; based on the configuration information for thepedaling session, set a resistance parameter and a maximum pedal forceparameter; measure force applied to the one or more pedals of theelectromechanical device as a user pedals the electromechanical device,wherein, based on the resistance parameter, the electric motor providesresistance during the pedaling session; determine whether the measuredforce exceeds a value of the maximum pedal force parameter; andresponsive to determining that the measured force exceeds the value ofthe maximum pedal force parameter, reduce the resistance parameter sothe electric motor applies less resistance during the pedaling sessionto maintain a revolutions per time period threshold.
 20. The system ofclaim 19, wherein the one or more processing devices execute theinstructions to: responsive to determining that the measured force doesnot exceed the value of the maximum pedal force parameter, maintain,during the pedaling session, the same maximum pedal force parameter. 21.The system of claim 19, wherein the configuration information isreceived from a server computing device that received the configurationinformation from a clinical portal presented on a computing device. 22.The system of claim 19, wherein the configuration information comprisesconfiguration information specified for a stage of a plurality of stagesin a treatment plan for rehabilitating a body part of the user.
 23. Thesystem of claim 19, further comprising receiving a selection of theconfiguration information from the user interface presented to the user.24. (canceled)